首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

请问一个关于数组赋值的有关问题

2013-03-16 
请教一个关于数组赋值的问题在C++类中,我这样给一个新创建的数组赋值int a[4] {0},但是出现的错误提示

请教一个关于数组赋值的问题
在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 
[解决办法]

引用:
首先谢谢楼上指出的错误,但是即使改成第二种赋值方式,仍然是报错的
这种赋值方式在类外是正确的,但是在类内赋值就出现错误


能贴出这个类的完整代码吗
[解决办法]
引用:
引用:首先谢谢楼上指出的错误,但是即使改成第二种赋值方式,仍然是报错的
这种赋值方式在类外是正确的,但是在类内赋值就出现错误

能贴出这个类的完整代码吗

类中是不能这样赋值的,类是一个类型,只有对象才可以赋值
[解决办法]
引用:
引用:引用:首先谢谢楼上指出的错误,但是即使改成第二种赋值方式,仍然是报错的
这种赋值方式在类外是正确的,但是在类内赋值就出现错误

能贴出这个类的完整代码吗
类中是不能这样赋值的,类是一个类型,只有对象才可以赋值

首先要搞清楚类和对象的概念,你在类中赋值的话,就类似于给一个类型赋了一个值,那必然是错的
[解决办法]
引用:
这是类中的定义,但是没有

在能在这个类的成员函数里面给m_instruc赋值,不能直接赋值
[解决办法]
好像是代码不全呀。没写完整吧
[解决办法]
引用:
引用:这是类中的定义,但是没有
在能在这个类的成员函数里面给m_instruc赋值,不能直接赋值


是的,不能直接在类中的变量进行声明的时候进行赋值,你要赋值的是具体的类的对象
[解决办法]
用指针赋值..................

热点排行