我正在尝试在构造函数的初始化列表中初始化一个数组,我希望这个数组的大小为MAX_SIZE,在我的Stack类中这是一个公共的静态常量。我该怎么做才能让它工作?编译器抱怨说在将“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;
感谢您提前的帮助。
static const unsigned max_size = 4; std::vector<double> array; Stack::Stack() : array(MAX_SIZE){}
- Jerry Coffinstd::vector
。我很少使用数组;几乎每次都会优先使用std::vector
。@Jesse Good 给出的代码也应该可以工作。 - Jerry Coffin