刚才还好好的程序,运行好几百次都没问题, 刚才打开突然
MessageBox突然报错,这是什么原因??
error C2660: 'MessageBoxA' : function does not take 2 parameters
MessageBox突然报错,这是什么原因??
error C2660: 'MessageBoxA' : function does not take 2 parameters
调试欢乐多
这样调用的:
MessageBox( "数据读取失败", "操作失败" );
重新完全编译一遍吧!
或者,MessageBox( "数据读取失败", "操作失败",0);这种情况的设置可能是你改变了编译环境。
这样的话得用楼上所说的这样
CWnd成员函数Messagebox不需要第一个参数HWND,而全局函数是要的
可以这样用 , 但为什么突然出错?? 没人知道吗?
AfxMessageBox试试MessageBox("数据读取失败", MB_OK);
int MessageBox(
LPCTSTR lpszText,
LPCTSTR lpszCaption = NULL,
UINT nType = MB_OK
);
因为定义了默认参数,所以参数个数可以是1~3个。如果在其它地方使用,或者前面加::,使用的是User32.dll中的MessageBox函数:
int MessageBox(
HWND hWnd,
LPCTSTR lpText,
LPCTSTR lpCaption,
UINT uType
);
必须给出4个参数。
全局函数或非CWnd子类的成员函数可以用AfxMessageBox或::MessageBox
就是刚才突然打开程序,200多个MessageBox都报错,有没有可能如arvid_gs
所说,改变了编译环境?
2、CWnd的成员函数MessageBox(),3个参数;其他地方用MessageBox(NULL, "", "", MB_OK);
3、重新编译
不管在哪用都出错,MainFrame中也出错
{
MessageBox( "数据读取失败", "操作失败",0);
}
在这也一样出错,这是作用域的问题吗?
全部改成 MessageBox(NULL, "数据读取失败", "操作失败",MB_OK);
却报这样的错误,昏死!
UserView.obj : error LNK2001: unresolved external symbol "public: int __thiscall CWnd::AfxMessageBox(char const *,char const *,unsigned int)" (?AfxMessageBox@CWnd@@QAEHPBD0I@Z)
就报以上错误
再执行.程序出现异常确定问题不在MessageBox上, 哪位高人知道这是什么原因?/
可以再+100分.
先将工程的.dsw文件拖至VC6.0的快捷方式打开工程, 工程不要关闭
再次将工程的.dsw文件拖至VC6.0的快捷方式打开工程, 发现第二次打开的类视图是 0 files
最后将第二次打开的工程Rebild All
以上问题就出现了..这个问题怎么解决??高高手们, 拜托了!
你可能都没试过~"重新生成XX" 在"生成(B)"的选项有,,不过怎样都要试一试~ 如果你已经试过了,那我就不知道原因了