这是我所用到的一段程序如下:
........
#ifdef __cplusplus
typedef void interrupt (*GT_ISR)(...); //这是第237行
#else
typedef void interrupt (*GT_ISR)();
#endif
GT_ISR GT_HookIsr(GT_ISR gtisr);
short GT_UnhookIsr(GT_ISR old_isr);
short GT_ClearInt(unsigned short CardNo);
#ifdef __cplusplus
}
#endif
vc++6.0编译的提示错误如下:
d:\tdw\userlib.h(237) : error C2065: 'GT_ISR' : undeclared identifier
d:\tdw\userlib.h(237) : error C2100: illegal indirection
d:\tdw\userlib.h(237) : error C2501: 'interrupt' : missing storage-class or type specifiers
d:\tdw\userlib.h(237) : error C2143: syntax error : missing ';' before '('
d:\tdw\userlib.h(237) : error C2059: syntax error : '...'
d:\tdw\userlib.h(237) : error C2059: syntax error : ')'
d:\tdw\userlib.h(242) : error C2146: syntax error : missing ';' before identifier 'GT_HookIsr'
d:\tdw\userlib.h(242) : error C2501: 'GT_ISR' : missing storage-class or type specifiers
d:\tdw\userlib.h(242) : fatal error C1004: unexpected end of file found
我想问您,typedef的作用,typedef void interrupt (*GT_ISR)(...);中指针GT_ISR还用用单独定义吗?interrupt函数的定义有什么问题吗?变长参数和“(”也有问题吗?我实在不明白!但GT_ISR GT_HookIsr(GT_ISR gtisr);我想应该是有问题的。
你昨天的帮助让我去掉了700多条的错误,我非常感谢你!
--------------------next---------------------
阅读(1066) | 评论(0) | 转发(0) |