Я могу указать -std = c ++ 0x для компиляции с моим g ++ 4.4, и списки инициализаторов верны, я могу использовать их (в c ++ 98 я не могу), но все равно получаю ошибки, когда пытаюсь использовать ключевое слово auto:
std::list< std::vector<int> > li2;
li2.push_back({1, 2, 3}); //push_back vector
li2.push_back({4, 2, 6}); //again, vector implicitly
for (auto& vv : li2) {
for (auto &i : v)
printf("element: %d\n", 8);
}
поэтому я предполагаю, что не могу использовать функциональные возможности C ++ 11 с g ++ 4.4. У меня 4.4 из-за совместимости с CUDA.
Эта ссылка показывает различные функции C ++ 11, поддерживаемые GCC. auto
появился в GCC 4.4.
Ваша настоящая проблема, вероятно, заключается в том, что for
петля появилась только в GCC 4.6.
Других решений пока нет …