2

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

4

1 回答 1

5

此链接向您展示了 GCC 支持的不同 C++11 功能。auto出现在 GCC 4.4 中。

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

于 2013-04-25T22:08:15.933 回答