所以可以说我有一个功能:回调函数: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