环境: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。

07-24 13:53