这个该死的错误是一个众所周知的问题
'{' 标记之前的预期类名
好吧,尽管我努力工作和谷歌搜索,我还是无法解决这个错误。对不起。这是我最后的海岸。
在我的一个项目的 ui.cpp 中,我这样做:
#include "wfqueue_proxy_factory.hpp"
好的,这在我的编译器中引发了这个愚蠢的错误:
在 wfqueue_proxy_factory.hpp:29 中包含的文件中,来自 ui.cpp:28:wfqueue_manager_proxy.hpp:42:错误:“{”标记之前的预期类名
我的项目中有三个类:第一类
// wfqueue_proxy_factory.hpp
#ifndef _WFQUEUE_PROXY_FACTORY_HPP
#define _WFQUEUE_PROXY_FACTORY_HPP
#include "wfqueue_manager_proxy.hpp"
// ...
class WFQueueProxyFactory {
//...
};
#endif
第二
// wfqueue_manager_proxy.hpp
#ifndef _WFQUEUE_MANAGER_PROXY_HPP
#define _WFQUEUE_MANAGER_PROXY_HPP
#include "workflow.hpp"
#include "wfqueue.hpp"
// ...
class WFQueueManagerProxy : public WFQueue { // This is the problem (line 42)
//...
};
#endif
第三
// wfqueue.hpp
#ifndef _WFQUEUE_HPP
#define _WFQUEUE_HPP
#include "workflow.hpp"
class WFQueue {
// ...
};
#endif
请注意我使用 ; 在每节课的 } 之后,我检查了项目中的每个标题以查找此问题,但没有找到任何未跟随的类;在它的右括号之后。这对工作流.hpp 有效,它是一个简单的类(不是从任何类派生的,只是一个普通类)。
WFQueue 是某种接口,我也将此模式与其他类一起使用,并且它们可以工作。WFQueue 包含一些虚拟纯方法......无论如何问题不应该在这里......我想这是因为我将另一个“接口”类与其他类一起使用并且它们工作正常。
如果我这样做,这个错误就会消失:
// wfqueue_manager_proxy.hpp
#ifndef _WFQUEUE_MANAGER_PROXY_HPP
#define _WFQUEUE_MANAGER_PROXY_HPP
#include "workflow.hpp"
#include "wfqueue.hpp"
// ...
class WFQueueManagerProxy {
//...
};
#endif
真的不知道如何解决这个问题......请帮助我。谢谢