5

我正在尝试在构造函数的初始化列表中初始化一个数组,并且我希望该数组的大小为 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;

在此先感谢您的帮助。

4

1 回答 1

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正如评论中提到的那样会更好。

于 2012-06-04T00:32:40.647 回答