C++Qt命名空间和循环依赖性
C++ Qt namespace and circular dependancy
我编写了一些代码来与Qt应用程序通信。现在我试图重构这个代码,但遇到了一些问题。
我的代码在这里:https://gist.github.com/abuteau/6f8bd9f072dbb3f61144
当我编译时,我得到了所有QWidget的不完整类型和前向声明的无效使用。
当我在没有名称空间的情况下编码时,我没有错误。
我该如何解决?
问候,
编写时:
namespace simulatorCommunication {
class QLabel;
class QPushButton;
class QUdpSocket;
...
您说您将在您的命名空间中定义上述类,但它们是由Qt定义的。
向前移动上面那些类的声明打开您的命名空间
给您不完整类型错误的类不在您的命名空间中。可能您必须为这些对象指定编译器的名称空间。如果你给了编译器错误,我可以说得更准确。
此外,您还可以在自己的命名空间中对Qt类进行Forward声明,但这些类将由Qt在Qt命名空间中定义,而不是您的。
fwd声明必须在将定义它的命名空间中
相关文章: