lambda的类内初始化

时间:2016-08-01 07:41:05

标签: c++ lambda

以下代码

struct X
{
    static constexpr auto lambda=[](int* t)->int&{ return *t; };
};

int main()
{
    int x=0;
    int* p=&x;

    return X::lambda(p);
}

产生此错误:

y.cc:3:24: error: ‘constexpr const X::<lambda(int*)> X::lambda’, declared using local type ‘const X::<lambda(int*)>’, is used but never defined [-fpermissive]
  static constexpr auto lambda=[](int* t)->int&{ return *t; };

我不确定是否可以在课堂上初始化lambda。在任何情况下,我都不明白这个特定的错误消息,因为明确定义了lambda

0 个答案:

没有答案