如何正确解决呢?

 class House{
 public:
  void startAction();
  void init(){
      startAction = [] () {};
  }
 };


我已经尝试过了,但是据说“表达式不可分配”

我想定义startAction的功能,但要在init方法内部。

我这样做是因为init方法中有几个要捕获的变量传递给startAction。

最佳答案

尝试这个:

class House {
  public:
    std::function<void ()> startAction;
    void init() {
        startAction = []() {};
    }
};

int main() {
    House house;
    house.init();
    house.startAction();
    ...
}

10-08 07:16