标签: c++ clang
当我在clang 3.2中编译它时
for(auto x : {1, 1.2}){}
我收到这样的错误:
错误:不能使用'void'类型作为范围
这是什么意思?
答案 0 :(得分:14)
您在初始化列表中混合了您的类型。在这种情况下,它可以很清楚,但不要忘记
std::string foo; for(auto x : {foo, "bar"}){}
也是2种不同的类型。当然,还有很多其他情况可能会使它起作用,但类型必须完全匹配。