compiler at rextester说它正在运行 clang 3.4,并且 clang language support page说 clang 3.4 支持通用 lambda,但我无法编译此代码:
int main()
{
auto genLambda = [](auto param) {};
}
我正在使用 -std=c++1y
进行编译。使用 --version
编译会产生以下结果,这就是我相信我正在运行 clang 3.4 的原因:
Ubuntu clang version 3.4-1ubuntu1 (trunk) (based on LLVM 3.4)
Target: x86_64-pc-linux-gnu
Thread model: posix
知道我做错了什么吗?
最佳答案
在我的计算机上仅通过 --std=c++1y
使用 clang 3.4 可以使用您的示例代码。
Ubuntu clang 版本 3.4-1ubuntu3 (tags/RELEASE_34/final)(基于 LLVM 3.4)
因为您的 --version
引用了 trunk
它可能是 clang 3.4 的 SVN 拷贝,它是在将通用 lambda 表达式添加到代码库之前获得的。
关于c++ - 如何让 clang 3.4 编译通用 lambdas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23074513/