请教一个关于数组赋值的问题
在C++类中,我这样给一个新创建的数组赋值int a[4] = {0};,但是出现的错误提示是
1>c:\users\administrator\desktop\summary20130305\summary20130122\SFile.h(68) : error C2059: 语法错误 : “{”
1>c:\users\administrator\desktop\summary20130305\summary20130122\SFile.h(68) : error C2334: “{”的前面有意外标记;跳过明显的函数体
请教这是什么原因
[解决办法]
也可能是你前面的代码有问题
[解决办法]
上前后代码
是不是你在类成员定义的时候直接去尝试初始化了?类成员静态变量的初始化要放在类外部的
[解决办法]
果然是类内部直接初始化
c++11才支持这种写法,否则不能这样写,可以把初始化放到构造函数内
[解决办法]
放到构造函数列表中
[解决办法]
错误一:数组溢出,只能放4个,结果存了5个
decodeChar m_Instruct[4] = {
"NOP",DoNop,
"END",DoEnd,
"NEXT",DoNext,
"MOVJ",DoMovj,
"MOVL",DoMovl,
};
错误2:赋值方法不对,应该改为
decodeChar m_Instruct[5] = {
{"NOP",DoNop},
{"END",DoEnd},
{"NEXT",DoNext},
{"MOVJ",DoMovj},
{"MOVL",DoMovl}
};
[解决办法]
实例:
1 #include <stdio.h>
2
3 struct AAA
4 {
5 char a[8];
6 int b;
7 };
8
9 int main()
10 {
11 AAA aaa[2] = {{"aa",1}, {"bb", 2}};
12 return 0;
13 }
14
[解决办法]