C ++ Build Error-期望的类名称' {'令牌|

时间:2012-04-23 23:34:51

标签: c++ oop

我有下面的类继承自Collection类,其中我定义了虚函数,稍后我需要在我的派生类中实现。我还没有在.cpp文件中包含我的成员函数的定义,除了派生类的构造函数。但是,当我构建我的项目时,我收到以下错误消息

'{'标记|

之前的预期类名

我已经尝试过我所知道的所有尝试,并且需要帮助来理解我的代码中的错误以及如何修复它。

    #ifndef VARIABLEARRAY_H
#define VARIABLEARRAY_H

#include "Collection.h"

using namespace std;

class VariableArray: public Collection{ 

        int* list[];// dynamic array that is resized on demand

    public:
        VariableArray();

};
#endif

任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:1)

您确定翻译单位已经看到Collection符号吗?

您可能想要添加:

#include "Collection.h"
在类定义之前

(或任何正确的名称)。

答案 1 :(得分:0)

我想你也可以转发声明收藏:

class Collection;

class VariableArray : public Collection {
....
};

答案 2 :(得分:0)

您是如何确定编译器是否可以使用Collection的? class的{​​{1}}声明是否显示在Collection文件的 预处理 输出中,或者相应的源文件是什么?

查看预处理的输出可以帮助您确定:

  • 如果名称空间污染是一个问题(例如VariableArray.cpp#define冲突)
  • 如果在Collection声明之前Collection声明真的可用。

如果它不是命名空间污染问题,我会检查您是否在多个头文件中使用相同的VariableArray警卫。