请教产生这个错误会有哪几种具体情况?
MSDN里说得太简单了,看了也不明白。
另外,在下面这段代码中,fv和pfv的具体意思好懂,可是变量signal的具体意义怎么解释啊?
*signal( int, fv * )和signal( int, pfv )都应该是指向void fv( int )类型函数的指针,这样说对吗?如果对,signal应该指向什么样的函数呢?
我曾想signal应该是一个指向返回类型为pfv、参数列表为( int, pfv )的函数的指针,可是具体实现起来总是出现错误,请高手指点。
(下面的代码出自MSDN,在MSDN中索引Typedef Declarations就会找到)
typedef void fv( int ), (*pfv)( int ); /* typedef declarations */
void ( *signal( int, void (*) (int)) ) ( int );
fv *signal( int, fv * ); /* Uses typedef type */
pfv signal( int, pfv ); /* Uses typedef type */
4 个解决方案
#1
好像有点懂了,signal是定义的一个函数,返回类型为pfv,参数列表为( int, pfv )
#2
正确
#3
正确
#4
好像网上有一篇叫右左法则的,看了那篇文章,一般比较难的C语言语句就都能懂了
#1
好像有点懂了,signal是定义的一个函数,返回类型为pfv,参数列表为( int, pfv )
#2
正确
#3
正确
#4
好像网上有一篇叫右左法则的,看了那篇文章,一般比较难的C语言语句就都能懂了