【发布时间】:2020-10-07 12:39:36
【问题描述】:
我使用的是 c++14,自动在 .cpp 文件上运行良好,但是当我尝试在我的类中创建通用 lambda 时,它会生成错误“此处不允许使用自动”
我做错了什么?
代码:
class MyClass{
private:
// Works
std::function<void(MyClass&)> assign = [&](MyClass& other){
//do something
};
// Does not work
std::function<void(auto)> assign = [&](auto other){
//do something
};
// Does not work
auto assign = [&](auto other){
//do something
};
};
【问题讨论】:
-
重新打开,因为suggested duplicate 没有回答问题。
-
错误消息指的是哪个
auto? AFAIK,auto不能用于非静态成员变量:godbolt.org/z/bnqz89。 -
onlinegdb.com/online_c++_compiler 在 cpp 文件中声明时也会发出错误