C++ 我可以将自动与g++;4.4?

C++ 我可以将自动与g++;4.4?,c++,c++11,g++,auto,gcc4.4,C++,C++11,G++,Auto,Gcc4.4,我可以指定-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&

我可以指定-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);

}
std::listli2;
li2.推回({1,2,3})//推回向量
li2.推回({4,2,6})//同样,向量是隐式的
用于(自动和vv:li2){
用于(自动和i:v)
printf(“元素:%d\n”,8);
}
所以我假设我不能在g++4.4中使用C++11函数。由于与CUDA的兼容性,我使用了4.4。

向您展示了GCC支持的不同C++11功能<代码>自动出现在GCC 4.4中


您真正的问题可能是基于范围的
for
循环仅出现在GCC 4.6中。

您确定问题是
auto
而不是基于范围的for循环吗?您是否建议g++4.4也应与auto一起使用?