下面这段代码报错error: 'pf' does not name a type
#include <iostream>
int f(int,int);
int (*pf)(int,int);
pf=f;
int main(){
return 0;
}
int f(int i,int j){
return i+j;
}
但是,下面这段代码编译通过
#include <iostream>
int f(int,int);
int main(){
int (*pf)(int,int);
pf=f;
return 0;
}
int f(int i,int j){
return i+j;
}
因为第一段定义了一个全局的函数指针,应该在定义时初始化;赋值语句放置在函数外是错误的
本文探讨了C++中函数指针的正确初始化方法,并对比了两种不同场景下的代码实现方式。一种是在函数外部进行初始化,这会导致编译错误;另一种是在函数内部初始化,则能正常编译通过。通过具体示例,解释了为何会出现这种差异。
7700

被折叠的 条评论
为什么被折叠?



