我对c ++开发很新(2天),到目前为止一切顺利,但是当我通过wxSmith添加wxStaticText时,自动生成的代码将无法编译:
错误:未在此范围内声明'StaticText1'
StaticText1 = new wxStaticText(this, ID_STATICTEXT1, _("Label"), wxPoint(8,8), wxDefaultSize, 0, _T("ID_STATICTEXT1"));
错误:未在此范围内声明'ID_STATICTEXT1'
const long dlgAbout::ID_STATICTEXT1 = wxNewId();
我在对话框上也有一个wxButton,但完全相同的事情,并且编译器没有自动生成的按钮代码的错误:
btnClose = new wxButton(this, ID_BUTTON1, _("Close"), wxPoint(88,96), wxDefaultSize, 0, wxDefaultValidator, _T("ID_BUTTON1"));
和
const long dlgAbout::ID_BUTTON1 = wxNewId();
的完整来源
答案 0 :(得分:0)
由于您粘贴的代码为我编译,因此它必须意味着您粘贴的代码不是编译器正在尝试的代码,也不是编译失败的代码。我认为您需要检查是否有可能有几个版本的dlgAbout.h文件浮动并且编译器使用了错误的版本,没有ID_STATICTEXT1的定义