C++ 如何在自己的类中使用wxWidgets类型?
我正在写一个基于wxWidgets库的应用程序。我有一些支持应用程序数据的类。它们将类型用作std::string,这不应该在使用wxWidgets-lib编写的应用程序中使用。 例如 现在我有了这样的东西:C++ 如何在自己的类中使用wxWidgets类型?,c++,wxwidgets,C++,Wxwidgets,我正在写一个基于wxWidgets库的应用程序。我有一些支持应用程序数据的类。它们将类型用作std::string,这不应该在使用wxWidgets-lib编写的应用程序中使用。 例如 现在我有了这样的东西: class SomeClass { private: wxString name; (.....) public: (.....) }; (是的,我知道char不是string——我决定将char改为string)。 编译器抛出错误:
class SomeClass
{
private:
wxString name;
(.....)
public:
(.....)
};
(是的,我知道char不是string——我决定将char改为string)。
编译器抛出错误:
“wxString”未命名类型
我尝试在许多地方使用类包含文件,但结果总是一样的。如果编译器说wxString没有声明,那么您必须包含正确的头 声明此行,确保它不在
#ifndef WX_PRECOMP
内
#include <wx/string.h>
#包括
如果编译器说wxString未声明,则必须包含正确的头
声明此行,确保它不在#ifndef WX_PRECOMP
内
#include <wx/string.h>
#包括
谢谢!它起作用了!但我有个问题。为什么头文件的预编译版本不能正常工作?@KacperKołodziej预编译头文件可以正常工作,我今天发现了。只要确保您的声明不在#ifndef WX_PRECOMP
中,这与wxWidgets示例所说的相反。谢谢!它起作用了!但我有个问题。为什么头文件的预编译版本不能正常工作?@KacperKołodziej预编译头文件可以正常工作,我今天发现了。只要确保您的声明不在#ifndef WX_PRECOMP
中,这与wxWidgets示例所说的相反。