我对 C++ 还是很陌生,所以如果这是一个简单的答案,我提前道歉。我正在尝试使用重载运算符。这是该运算符的签名:
const Vector3D operator/(const Vector3D& lhs, const double rhs)
这是我尝试使用它的方法:
OrthonormalBasis::OrthonormalBasis(const Vector3D &a)
{
Vector3D t;
w = a / a.length();
t = getCollinearVector(w);
//More code goes here
}
当我尝试编译时,g++ 返回以下错误:
/file/path/orthonormalBasis.cpp:8: undefined reference to
`operator/(Vector3D const&, double)'
collect2: ld returned 1 exit status
运算符是在 Vector3D.cpp 中定义的,所以我确实有一个定义。