【问题标题】:How get clang 3.4 to compile generic lambdas?如何让 clang 3.4 编译通用 lambda?
【发布时间】:2014-04-15 04:11:03
【问题描述】:

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

知道我做错了什么吗?

【问题讨论】:

  • 确实说“基于 3.4”,所以我不知道。 Coliru 处理得很好。
  • 在我的计算机上使用 clang 3.4,只有 --std=c++1y 可以与您的示例代码一起使用。 Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4) 我猜你在那个服务器上有一个修订版本,而我有更新的标记版本。

标签: c++ auto lambda c++14


【解决方案1】:

在我的计算机上使用 clang 3.4,只有 --std=c++1y 可以与您的示例代码一起使用。

Ubuntu clang version 3.4-1ubuntu3 (tags/RELEASE_34/final) (based on LLVM 3.4)

因为您的 --version 引用了 trunk,它可能是 clang 3.4 的 SVN 副本,它是在将通用 lambdas 添加到代码库之前获得的。

【讨论】:

    猜你喜欢
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-27
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2020-07-27
    相关资源
    最近更新 更多