写了这样一个类:
class Base{
private:
int r[MAX_SIZE];
int length;
public:
Base()
{
r[MAX_SIZE] = {1,2,0,5,8,9,7,3,6,4}; //编译的时候在这边出错
length = 10;
}
void swap_data(int,int);
void Show(const Base &ob);
friend int Bubble_Sort0(Base &ob);
};
出错原因是:
1.cpp: In constructor ‘Base::Base()’:
1.cpp:13: 警告:extended initializer lists 只在 -std=c++0x 或 -std=gnu++0x 下可用
1.cpp:13: 错误:不能将‘’转换为‘int’,在 assignment 中
请问各位大神,这是什么意思?有什么解决办法?
在构造函数里,只能这样:
r[0]=1;
r[1]=2;
r[2]=0;
。。。
诸如此类。因为构造函数的时候已经是执行部分,不是定义部分了。
或者你可以在定义的时候这样写
class Base{
private:
int r[MAX_SIZE]={1,2,0,5,8,9,7,3,6,4};
int length;
。。。。。。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。