c ++在参数中声明函数

时间:2017-12-01 20:40:24

标签: c++ parameter-passing

我想直接在C#:

这样的参数中声明一个函数
old priority for PID 9721 is 0
new priority for PID 9721 is 19

所以我可以将类中的变量称为普通函数。 Module变量需要什么类型,如何编写一个函数来传递C ++?

1 个答案:

答案 0 :(得分:0)

  

Module变量需要什么类型,如何编写传递C ++的函数?

我假设您询问变量module,而不是类型Module

使用时

var module = new Module(
    (object sender, Args a) => { return something; }
)

module的类型为Module*

您可以使用

 Module(
    (object sender, Args a) => { return something; }
    )

构造一个Module,只要它有一个可以接受lambda函数作为参数的构造函数。

E.g。

struct Module
{
    template <typename L> Module(L l) { ... }
};

struct Module
{
    Module(std::function<R(object, Args)> f) { ... }
};

其中Rsomething的类型。