2010-06-09 59 views
0

我之前得到一个“预期的类名,或和我不完全得到如何解决它'''或';'之前的预期类名。

这里就是错误是:

class FXHost : public CPLAT::CP_Application, public CPLAT::CP_M_Listener 
{ 

该文件是FXHost.h和CPLAT ::显然是CP_Application和CP_M_Listener所在的命名空间

我不明白为什么会出现这种情况,这段代码在Metrowerks中运行正常(没有CPLAT::),但是在XCode中需要CPLAT,因为写的代码由之前的开发者。

任何人都可以解释一下这个错误吗?

更新:这里是CP_Application类

template <class DOC_POLICY, class PRINT_POLICY, class UNDO_POLICY> 
class CP_EXPORT CP_Application : public CP_Application_Imp 
{ 
    public: 
    typedef DOC_POLICY     DocPolicyType; 
    typedef PRINT_POLICY    PrintPolicyType; 
    typedef UNDO_POLICY     UndoPolicyType; 

    CP_Application(); 
    virtual     ~CP_Application() throw(); 
+4

听起来像一个的#include缺少一个声明CPLAT ::类。 – 2010-06-09 14:15:01

回答

2

它看起来像编译器还没有看到两个父类的类声明的样本。我会检查的第一件事是你的包含指令。你确定你包括标题定义的类CP_ApplicationCP_M_Listener

+0

@acanaday - 这是它的一部分。我添加了CP_Application和CP_M_Listener,但它仍然抱怨CP_M_Listener。我查看了该头文件,并且CP_M_Listener()构造函数受到保护。为什么你会有一个受保护的构造函数?这是我的问题吗? – Elliot 2010-06-09 15:17:24

+0

@Elliot - 使保护的构造的目的是使得仅派生类(或静态类的方法)可以调用它(即防止类直接实例化)。抽象基类或单例(通常是私有构造函数)通常就是这种情况。这本身不应该导致编译器错误。你现在得到什么错误? – acanaday 2010-06-09 15:30:11

+0

@acanaday - 我现在确切的错误是:错误:期望的类名之前','令牌 - – Elliot 2010-06-09 15:43:50

相关问题