我的构造函数对于这个堆栈的数组实现有什么问题?

时间:2013-10-27 17:20:32

标签: c++ constructor stack

下面我的构造函数出了什么问题?我收到的错误是:

错误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
    }

1 个答案:

答案 0 :(得分:0)

错误是前一行,在这里:

array_capacity(0,n),

应该是

array_capacity(n),