[问题] g++出现error gcc却可以

楼主: lagunalai (神奇)   2015-04-21 13:22:21
开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
GCC
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
问题(Question):
喂入的资料(Input):
预期的正确结果(Expected Output):
错误结果(Wrong Output):
程式码(Code):(请善用置底文网页, 记得排版)
void funA()
{
printf("A\n");
}
void funB(int x)
{
printf("B\n");
}
int main()
{
void (*QQQ) ();
QQQ = &funB; // invalid conversion from 'void (*)(int)' to 'void (*)()
QQQ();
return 0;
}
补充说明(Supplement):
为什么用gcc 可以成功
而g++ 却有error
不是因该都有error吗?
不是应该要写成下面这样吗?
void (*QQQ) (int)
QQQ = &funB;
QQQ(123);
作者: bibo9901 (function(){})()   2015-04-21 13:44:00
c++ 比较严格
作者: TobyH4cker (Toby (我要当好人))   2015-04-21 15:10:00
C:你自己乱用怪我囉?C++:你看人家C都不检查的
作者: PkmX (阿猫)   2015-04-21 20:36:00
C的函数()不写东西是代表未定个数参数的函数啊 和C++不一样
作者: cjcat2266 (CJ Cat)   2015-04-23 01:24:00
没有参数的写法是 void (*) (void)如楼上所说,void (*) () 是未定个数参数

Links booklink

Contact Us: admin [ a t ] ucptt.com