我尝试编译基本示例:
#include <vector>
int main ()
{
std::vector<int> testV;
for (const auto& test : testV)
{ }
return 0;
}
我收到了错误:
test.cpp: In function 'int main()':
test.cpp:5:29: error: 'begin' was not declared in this scope
test.cpp:5:29: error: 'end' was not declared in this scope
test.cpp:5:29: error: unable to deduce 'const auto&' from '<expression error>'
STLport是否支持const auto
?
编辑:我正在使用GCC 4.6
有了4.7以上,一切都还可以。
答案 0 :(得分:2)
gcc 4.6于2011年春季问世,大多数C ++ 11功能都没有漏洞。不过,大约在同一时间范围内的ADL查找规则也被修改(请注意,这是在2011年夏天正式批准C ++ 11标准之前)。有关详细信息,请参阅this Q&A。这可能不值得调试,推荐的行动方案是升级到最新版本的gcc(4.7或最好是4.8)。