【发布时间】:2013-03-27 04:45:20
【问题描述】:
我有 2 个文件:
Point.h:
class Point {
int x;
int y;
char* name;
public:
Point() { name = new char[5]; }
~Point() { delete[] name; }
};
和:Line.h:
class Point;
class Line {
Point* p;
public:
Line() {
p = new Point[2];
....
...
}
~Line() {
delete[] p;
}
};
但是当我编译时,我得到了下一个错误:
deletion of pointer to incomplete type 'Point'; no destructor called
任何帮助表示赞赏!
【问题讨论】:
-
注意:
std::string name;和std::array<Point, 2>。摆脱像这样动态分配内存时必须处理的烦人的额外功能。 -
请参阅此处以使此警告被视为错误...应该是...:stackoverflow.com/questions/4750880/… (
#pragma warning (error: 4150))
标签: c++ class pointers destructor