我有下面的类继承自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
任何帮助将不胜感激。
答案 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
警卫。