所以可以說我有一個功能:回調函數:void之間的差異(* FUNC)(int)和無效(FUNC)(INT)
void foo (int i){
cout << "argument is: " << i << endl;
}
而且我通過這個功能:
void function1 (void(callback)(int), int arg){
callback(arg);
}
void function2 (void(*callback)(int), int arg){
callback(arg);
}
這兩個功能是否相同?兩者有什麼區別?
完全相同。參數中的函數類型被調整爲指針。 – 2014-09-20 21:42:11
與聲明一個接受'int * x'和'int x []''的函數相同的處理;你不能按值傳遞函數或數組;沒有顯式'*'的版本只是指針版本的語法糖。 – ShadowRanger 2015-12-23 14:28:17