編譯器警告 (層級 4) C4295
' array' :陣列 太小,無法包含終止的 Null 字元
陣列已初始化,但陣列中的最後一個字元不是 Null;以字串身分存取陣列可能會產生非預期的結果。
範例
下列範例會產生 C4295。 若要修正此問題,您可以宣告較大的陣列大小、從初始化運算式字串保留終止 Null,或者您可以使用陣列初始化運算式清單,讓意圖清楚指出這是 的陣列 char
,而不是以 Null 終止的字串。
// C4295.c
// compile with: /W4
int main() {
char a[3] = "abc"; // C4295
char b[3] = {'d', 'e', 'f'}; // No warning
a[0] = b[2];
}
意見反映
https://aka.ms/ContentUserFeedback。
即將推出:我們會在 2024 年淘汰 GitHub 問題,並以全新的意見反應系統取代並作為內容意見反應的渠道。 如需更多資訊,請參閱:提交及檢視以下的意見反映: