9.14.2007

VC6 to VS2005 的問題

VC 6 升級到VS2005 還是一些問題:
error C2440: 'static_cast' : cannot convert from 'BOOL (__thiscall CExampleDlg::* )(void)' to 'AFX_PMSG'
error 發生的位置是在 Message Handler 宣告的地方:
ON_BN_CLICKED(IDC_BUTTON1, OnButtonTestvoid)
google 結果是 ON_BN_CLICKED( )的handler function return 值是 void 才對,而我的code OnButtonTest( ) return 值是 BOOL。
所以.. 修改一下就OK.

還有..
error C2668: 'log' : ambiguous call to overloaded function
發生在statement:
expo = (log(num))/(log(10));
的地方,解法是..手動cast
expo = (log((double)num))/(log(10.));

沒有留言: