[問題] 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