下面这段代码报错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
;
}
因为
第一段定义了一个全局的函数指针,应该在定义时初始化;赋值语句放置在函数外是错误的