コンストラクタの初期化リストで配列を初期化しようとしていて、配列のサイズをMAX_SIZEにしたい。これはStackクラスのパブリック静的constである。どうすればそれを稼働させることができますか?あなたの助けを事前にコンストラクタの初期化リストで配列を初期化する
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;
ありがとう:コンパイラは、彼らが「ダブル[0U]」から「double」の
はここに私のコードでの割り当てに互換性のない型を持っていると言って、文句を言います。
完全にマゾヒスティックでない限り、静的const unsigned max_size = 4; std :: vector配列。 Stack :: Stack():array(MAX_SIZE){} ' –
もっと簡単な方法はありますか?すなわちベクトルを使用しない。サイズがMAX_SIZEの配列データメンバーを受け入れるプログラムを取得するにはどうすればよいですか? – Sean
私は 'std :: vector'の使用に慣れるでしょう。私はめったに配列を使いません。私は 'std :: vector'をほとんどいつでも使用します。 @ Jesse Goodが与えてくれたコードもうまくいくはずです。 –