帮我用c++写一个函数, 把void 作为参数,写出过程
时间: 2024-02-22 22:01:00 浏览: 21
好的,我们可以编写一个函数,该函数接受一个void函数作为参数,并调用该函数。函数的实现如下:
```cpp
#include <iostream>
#include <functional>
void callFunction(std::function<void()> func) {
func();
}
void printHello() {
std::cout << "Hello, World!" << std::endl;
}
int main() {
// 定义一个void函数,将其作为参数传递给callFunction函数
auto hello = []() { printHello(); };
callFunction(hello);
return 0;
}
```
在上面的代码中,我们定义了一个名为“callFunction”的函数,它接受一个void函数作为参数。其中,“std::function<void()>”表示一个没有参数和返回值的函数类型。
我们还定义了一个名为“printHello”的void函数,该函数输出“Hello, World!”到控制台。然后,我们定义了一个Lambda函数“hello”,该函数将“printHello”函数作为参数传递给“callFunction”函数。最后,我们调用“callFunction”函数,并输出“Hello, World!”到控制台。
运行上面的代码会得到以下输出:
```
Hello, World!
```
这表明我们成功地将void函数作为参数传递给了函数,并成功地调用了该函数。