3フィールドの配列(サイズcount
)を使用します。長さはa
、長さは9のintベクトルb
、ブールc
となります。このベクターを正しく宣言するには?
これを宣言する正しい方法は何ですか?
宣言1:
vector <long a, vector<int> b(9), bool c> matrix(count);
エラー:
code.cpp: In function ‘int main()’:
code.cpp:89:49: error: template argument 1 is invalid
code.cpp:89:49: error: template argument 2 is invalid
code.cpp:89:57: error: invalid type in declaration before ‘(’ token
宣言2:
vector <long, vector<int>, bool> matrix(count, a, vector<int> b(9), c);
エラー:
code.cpp: In function ‘int main()’:
code.cpp:90:40: error: wrong number of template arguments (3, should be 2)
/usr/include/c++/4.5/bits/stl_vector.h:170:11: error: provided for ‘template<class _Tp, class _Alloc> class std::vector’
code.cpp:90:48: error: invalid type in declaration before ‘(’ token
code.cpp:90:56: error: ‘a’ was not declared in this scope
code.cpp:90:71: error: expected primary-expression before ‘b’
code.cpp:90:77: error: ‘c’ was not declared in this scope
code.cpp:90:78: error: initializer expression list treated as compound expression
私はSTLを初めて使用していますが、ここで正しい構文は何か分かりませんか?
私はあなたが何をしようとしているのかはっきりしていませんが、すべてのオブジェクトに3つのフィールドが必要な場合は、構造体を作成する必要があり、3つのフィールドをメンバーとして持ち、構造体のオブジェクトをベクター。 –