initializer_list(gcc 4.4)
-
Moin,
laut der folgenden Übersicht bietet der gcc ab Version 4.4 Unterstützung für initializer lists. Ich habe folgenden Programmcode für Testzwecke verwendet:
#include <iostream> #include <initializer_list> class foo{ public: foo(std::initializer_list<int> a){ std::initializer_list<int>::iterator it; for(it = a.begin();it!=a.end();++it){ std::cout<<*it; } } }; int main(){ foo hallo = {1,2,3,4,5,6}; return 0; }
Und erhalte folgende Fehlermeldung:
test.cpp:7: Fehler: »iterator« is not a member of »std::initializer_list<int>«
Laut dem Working Draft sollte iterator aber sehr wohl ein Element von initializer_list sein. Ist die Implementierung dahingehend im gcc noch unvollständig oder mache ich hier etwas falsch? Ich habe noch einige Beispiele für den Einsatz von initializer_list mit dem gcc gefunden. Diese iterieren aber jeweils über einen const int* über die Elemente der initializer_list, was ich persönlich nicht soo schön fand