环境:Visual Studio 2008,wxWidgets 2.8.10,Vista 64
码
头文件
#include <wx/wx.h>
class CSend
{
CSend(wxString& name = "");
~CSend();
};
main.cpp
#include "header.h"
void main()
{
CSend dlg(wxString("Hi"));
}
当我编译该程序时,出现以下错误
错误C2440:“默认参数”:无法从“const char [1]”转换为“wxString&”
谁能帮帮我吗 ?
最佳答案
您真的要更改传递给CSend构造函数的wxString name的值吗?如果没有,请更改
CSend(wxString& name = "");
至
CSend(const wxString& name = "");
我不知道wxString类,但是我猜它有一个来自char *的构造函数。它允许您创建wxString类型的临时变量,该临时变量用作CSend构造函数的默认参数,但不能绑定(bind)到非const引用-只能绑定(bind)到const。