[英]error: Invalid use of incomplete type
我遇到以下问题,有人有个好主意吗?
class Vector_2d;
namespace Utils {
class Align_vector : public Vector_2d {
protected:
bool check_range(int x, int y);
public:
enum alignment {left, right, up, down};
Align_vector(Alignment alignment);
void set_alignment(Alignment alignment);
Alignment get_alignment();
};
}
错误是:
错误:无效使用不完整类型'Vector_2d类'
但是怎么会有错误呢?
class Vector_2d;
这仅声明存在该名称的类。
要从中继承,需要提供完整的类定义。
class Vector_2d {
// Your code goes here
};
class Align_vector : public Vector_2d {
// Other stuff
};
如果这些类具有单独的头文件,请确保在定义继承的类之前将其包括在内。
#include <vector_2d.h>
namespace Utils {
class Align_vector : public Vector_2d {
// Other stuff
};
}
简单地说,当类B
从类继承A
,该类的对象B
将有A
子对象作为其布局的一部分。
所以,你不能定义布局B
,这取决于A
,如果你不具备的完整定义A
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.