幾何データを含む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はどのように見えますか? –
デフォルトコンストラクタとコピーコンストラクタの定義と、代入演算子(間違った署名がある)を表示します。 –