我想要使用三個字段的數組(長度爲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個字段作爲成員,然後將結構的對象存儲在向量。 – 2012-01-08 13:32:54