我正在尝试在构造函数的初始化列表中初始化一个数组,我希望数组的大小为MAX_SIZE,这是我的Stack类中的公共静态const。我怎样才能让它发挥作用?编译器抱怨说,他们在将'double'分配给'double [0u]'时有不兼容的类型
这是我的代码:
class Stack {
public:
Stack();
static const unsigned MAX_SIZE;
private:
double array[];
unsigned elements;
}; // class Stack
Stack::Stack(): array( array[MAX_SIZE] ), elements(0) {}
const unsigned Stack::MAX_SIZE = 4;
提前感谢您的帮助。
答案 0 :(得分:5)
class Stack {
public:
Stack();
static const unsigned MAX_SIZE = 4;
private:
double array[MAX_SIZE];
unsigned elements;
}; // class Stack
Stack::Stack(): array(), elements(0) {}
但是,如评论中所述,std::vector
会更好。