我可以指定-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);
}
所以我假设我不能在g ++ 4.4中使用C ++ 11函数。由于与CUDA的兼容性,我有4.4。
答案 0 :(得分:5)
This link向您展示了GCC支持的不同C ++ 11功能。 auto
出现在GCC 4.4中。
您真正的问题可能是基于范围的for
循环仅出现在GCC 4.6中。