只是编译Test,不接受初始化列表:
class Test {
public:
Test() {
array[] = {1,2,3,4,5};
}
private:
int array[];
};
$ g++ -Wall -std=c++11 Test.h Test.h: In constructor ‘Test::Test()’: Test.h:7:10: error: expected primary-expression before ‘]’ token array[] = {1,2,3,4,5}; ^
如何初始化数组?
答案 0 :(得分:0)
您必须提供数组的大小。语法为:Type variable_name[constexpr]
。
例如:
class Test {
public:
Test() : array{1, 2, 3} {
}
private:
int array[3];
};
如果您想拥有动态分配的数组,则必须使用new
和delete
。更好的选择是:std::vector