error: 'pf' does not name a type

时间:2021-05-22 09:40:28
下面这段代码报错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 ;
}


因为 第一段定义了一个全局的函数指针,应该在定义时初始化;赋值语句放置在函数外是错误的