簡體   English   中英

在C中定義另一個函數輸入內的函數

[英]Defining a function inside the input of another function in C

我有一個具有函數指針輸入的函數。 我可以輕松地將函數名稱作為輸入。 但我想知道是否可以將函數定義為輸入。 例如,我有這樣的功能;

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

我可以在括號內輸入這樣的輸入嗎? 例如;

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

它給出了像這樣的編譯錯誤,但有沒有其他方法可以做到這一點?

這在C中是不可能的。

在C ++中,您可以使用lambda表達式:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM