c++ - "error: cannot use type ' void' as a range"究竟是什么意思?

标签 c++ clang

当我在 clang 3.2 中编译它时

for(auto x : {1, 1.2}){}

我收到这样的错误:

error: cannot use type 'void' as a range

这是什么意思?

最佳答案

您在初始化列表中混合了您的类型。在这种情况下它可以很清楚,但不要忘记

std::string foo;
for(auto x : {foo, "bar"}){}

也是两种不同的类型。当然还有很多其他情况,您可能希望它起作用,但类型必须完全匹配。

关于c++ - "error: cannot use type ' void' as a range"究竟是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16463323/

相关文章:

c++ - 用右值初始化左值引用

c++ - 如何在函数/方法中使用 sf::window

c++ - Visual Studio 2010 多个 cpp 文件

c++ - 如何通过 Clang 和 LibTooling 使用标准库

c++ - 在 C++11 中将 fstream 引用作为函数参数传递

你能在 Clang 编译的 C 语言中内联 LLVM 位代码吗?

c++ - gcc 与 clang : expanding a captured parameter pack twice

c++ - 通过另一个指针删除指向类中多维数组的指针 - 如何?

c++ - 区分字符串文字和字符数组

c++ - Eigen,RowXpr 的函数