2017-06-12 1 views
-3

私のエントリcppファイルには、次のような動作があります。ヘッダファイル内のベクトルを宣言して初期化する

私はCOLS に私example.hファイルで、私は

  • を取得し、同じコードは " ')' 予想" ROWS
  • の "型指定子が期待される" ことを置く場合は
    include <vector> 
    #define ROWS 10 
    #define COLS 20 
    
    std::vector<std::vector<int>> exampleVector (ROWS, std::vector<int>(COLS, 10)); 
    

  • "予想される型指定子" on 10
  • "予想されるa ';'

)第二に、私は、私はちょうど私のexample.cppファイルで私のexample.hファイル内

std::vector<std::vector<int> exampleVector; 

exampleVector.resize(ROWS, std::vector<int>(COLS, 10)); 

を置くことができます知っています。

しかし、コードの清潔さのために私は私の固定配列と一緒に私のヘッダーファイルでそれをご希望です

char exampleName[MAX_NAME_LENGTH] 
int exampleConfig[MAX_LEVELS] 

など

答えて

-2

あり、あなたのサンプルコードと間違って何かがありますが、答えはある、ことを無視して(不足している>を閉じる?):std::vectorのサイズは、定義時で指定することはできません。

一方、std::arrayのサイズが指定できます

#include <array> 

#define ROWS 10 
#define COLS 20 

std::array<std::array<int, ROWS>, COLS> exampleArray; 
+0

パーフェクト!ありがとうございました –

+0

謝罪@サムディーン、私はおそらく間違った質問に答えました。これはヘッダー/ソースファイルの問題に対処するために何もしません。したがって、これは赤いニシンかもしれないことに注意してください。 –

+1

それはもっと間違っていることはできませんでした。 'ベクトル'の 'vector(size_type、T)'コンストラクタは何をしますか? –

関連する問題