我读到,当初始化一个数组时,可以使用字符串文字。但是如果初始化器的列表大于数组的大小,则会捕获错误。
#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
char cAr2[3] = "ABC";
for (int i = 0; i < 3; i++)
cout<<cAr2[i]<<endl;
system("pause");
return 0;
}
好吧,这个例子在我的书中给出。它真的像这样结束:错误C2117:'cAr2':数组边界溢出。
你能告诉我这里是什么吗:我可以看到一个包含 3 个元素的数组和 3 个元素被放入其中。一切似乎都很好。为什么会出错?