0

下面我的构造函数有什么问题?我收到一条错误消息:

错误 1 ​​错误 C2359:非类类型的成员需要单个初始化表达式
错误 2 错误 C2359:非类类型的成员需要单个初始化表达式

它说错误在第 55 行,如果你快速看一下,我在下面将字体加粗。

template <typename Type>
class Drop_off_stack_as_array {
    private:
        int itop;
        int ibottom;
        int entry_count;
        int array_capacity;
        Type *array;

    public:
        Drop_off_stack_as_array( int = 10 );
        Drop_off_stack_as_array( Drop_off_stack_as_array const & );
        ~Drop_off_stack_as_array();

        int size() const;
        bool empty() const;
        Type top() const;
        bool full() const; 

        void swap( Drop_off_stack_as_array & );
        Drop_off_stack_as_array &operator = ( Drop_off_stack_as_array );
        void push( Type const & );
        Type pop();
        void clear();

    template <typename T>
    friend std::ostream &operator << ( std::ostream &, Drop_off_stack_as_array<T> const & );
};

template <typename Type>
Drop_off_stack_as_array<Type>::Drop_off_stack_as_array( int n ):
    itop(0),
    ibottom(0),
    entry_count(0),
    array_capacity(0,n),
    **array(new Type[array_capacity]){**
        //empty constructor
    }
4

1 回答 1

0

错误是前面的一行,这里:

array_capacity(0,n),

应该

array_capacity(n),
于 2013-10-27T17:22:13.227 回答