2つのクラスがTriangle
あり、コンストラクターののプロパティに新しいインスタンスをALine
割り当てたいと思います。しかし、私はこのエラーが発生していますALine
Triangle
Undefined symbols for architecture x86_64:
"ALine::ALine()", referenced from:
Triangle::Triangle(triangle) in Triangle.o
ld: symbol(s) not found for architecture x86_64
以下は私が書いたコードです:
ALine.cpp
#include "Geometry.h"
#include "ALine.h"
ALine::ALine(point a, point b)
{
double tmpy = a.y - b.y;
double tmpx = a.x - b.x;
double tmpk;
if(equals(tmpy, 0))
{
tmpk = 0;
}
else
{
tmpk = tmpx/tmpy;
}
double tmpq = a.y - tmpk*a.x;
if(equals(tmpx, 0))
{
if(equals(a.x, 0))
{
if(equals(b.x, 0)) tmpk = 0;
else tmpk = (b.y-tmpq)/b.x;
}
else
{
tmpk = (a.y-tmpq)/a.x;
}
}
a = a;
b = b;
k = tmpk;
q = tmpq;
};
ALine.h
class ALine{
private:
double k;
double q;
point a;
point b;
double length;
void calculateLength();
public:
ALine(point a, point b);
ALine();
point getK();
point getQ();
static bool areinline(point a, point b, point c);
};
Triangle.cpp
#include "Triangle.h"
#include "Geometry.h"
#include "ALine.h"
Triangle::Triangle(triangle t)
{
triangle itself = t;
a = *new ALine(itself.a, itself.b);
b = *new ALine(itself.b, itself.a);
c = *new ALine(itself.c, itself.a);
};
クラスが完了していないことに注意してください。ここに、問題に関連するコードのみを貼り付けました(そうでない場合は、さらに追加できます)。