編譯器警告 (層級 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 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應