C++ 如何在自己的类中使用wxWidgets类型?

C++ 如何在自己的类中使用wxWidgets类型?,c++,wxwidgets,C++,Wxwidgets,我正在写一个基于wxWidgets库的应用程序。我有一些支持应用程序数据的类。它们将类型用作std::string,这不应该在使用wxWidgets-lib编写的应用程序中使用。 例如 现在我有了这样的东西: class SomeClass { private: wxString name; (.....) public: (.....) }; (是的,我知道char不是string——我决定将char改为string)。 编译器抛出错误:

我正在写一个基于wxWidgets库的应用程序。我有一些支持应用程序数据的类。它们将类型用作std::string,这不应该在使用wxWidgets-lib编写的应用程序中使用。 例如

现在我有了这样的东西:

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示例所说的相反。