在C中定义另一个函数输入内的函数

时间:2015-06-06 14:12:17

标签: c++ c function input function-pointers

我有一个具有函数指针输入的函数。我可以轻松地将函数名称作为输入。但我想知道是否可以将函数定义为输入。例如,我有一个像这样的函数;

void exampleFunction ( void (*functionPointer)( void ) ) {
  codes
  ...
}

我可以在括号内输入这样的输入吗?例如;

exampleFunction( void helloFunction ( void ) {
  printf("Hello");
} );

它给出了像这样的编译错误,但有没有其他方法可以做到这一点?

1 个答案:

答案 0 :(得分:8)

这在C语言中是不可能的。

在C ++中,你可以使用lambda表达式:

exampleFunction([](){ std::cout << "Hello"; });