停5s
2015-06-11 05:59
采纳率: 66.7%
浏览 7.9k

C++类的私有成员中定义了一个数组,怎么在构造函数中初始化这个数组?

写了这样一个类:

 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 中
请问各位大神,这是什么意思?有什么解决办法?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

6条回答 默认 最新

  • 纵横车 2015-06-11 06:23
    最佳回答

    你这种复制方式只能在定义数组时使用,定义完了以后都只能用循环逐个复制。

    评论
    解决 无用
    打赏 举报
查看更多回答(5条)

相关推荐 更多相似问题