[英]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.