我想在包含幾何數據的C++中創建一個列表。這份名單是三角形的列表:插入對象到列表中,C++
class Triangle
{
public:
Triangle(Point P1, Point P2, Point P3);
Triangle(const Triangle& T);
~Triangle() {delete e1; delete e2; delete e3;}
const Triangle operator=(const Triangle & T);
bool InCircle(Point & P);
int TriNumber() { return TriangleNumber;}
void SetTriNumber(int trinum) { TriangleNumber = trinum;}
Edge ReturnEdge(int i);
Point ReturnPoint(int i);
protected:
Point p1,p2,p3;
Edge *e1, *e2, *e3;
int TriangleNumber;
};
然而,當我嘗試創建三角形的名單,我用以下幾行代碼段故障:
const Point p1(100.0, 100.0);
const Point p2(-100.0, 100.0);
const Point p3(0.0, -150.0);
Triangle TT(p1,p2,p3);
list<Triangle> trilist;
list<Triangle>::iterator iter;
iter = trilist.begin();
// the next line is causing all the problems:
trilist.insert(iter, TT);
任何幫助是極大的讚賞。
你得到了什麼確切的錯誤?來自gdb的堆棧跟蹤會很有幫助。 – anio
你的ctor看起來像什麼? –
顯示默認和複製構造函數的定義,以及賦值運算符(順便提一下,它有錯誤的簽名)。 –