我得到兩個變量a
和b
,並希望將它們直接添加到數組列表中。我怎樣才能避免定義另一個數組,然後將其推入列表中?C++:如何將數組元素推入數組列表中?
我在找一個類似於以//
開頭的行。
最少例如:
#include <list>
#include <boost/array.hpp>
using namespace std;
int main()
{
cout << endl;
/* given values */
int a = 1;
int b = 2;
/* arrayList contains arrays of integers. */
list<boost::array<int, 2> > arrayList;
/* item to add values */
boost::array<int, 2> item;
item[0] = a;
item[1] = b;
arrayList.push_back(item);
// arrayList.push_back({{a, b}});
cout << arrayList.front()[0] << ", " << arrayList.front()[1] << endl;
return 0;
}
我克++版本如下: gcc-Version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
。
編譯(在Eclipse)拋出這樣的警告列爲錯誤: Warnung: erweiterte Initialisierungsliste nur mit -std=c++0x oder -std=gnu++0x verfügbar [standardmäßig aktiviert] main.cpp /testArrayListAndFind line 24 C/C++ Problem
這意味着:Extended initilization list only with ... or ... available.
的答案可以根據您所使用的編譯器的不同而不同。請指定編譯器(還有,C++ 11有'std :: array')。 –
如果你的代碼示例是真正的代碼,考慮切換到'std :: pair'或'std :: tuple'。 –
給定一個C++ 11編譯器,突出顯示的行將按原樣工作:'arrayList.push_back({{a,b}});'''''''編譯器,現在你必須使用一個較老的編譯器。你應該指定是否是這種情況。 – bames53