我正在尝试编译以下代码:
Numero.h
#include <iostream>
using namespace std;
class Numero {
public:
explicit Numero(double n) : n(n) {};
Numero operator+(const Numero& n2);
Numero operator-(const Numero& n2);
Numero operator*(const Numero& n2);
Numero operator/(const Numero& n2);
friend std::ostream& operator<<(std::ostream& os, const Numero& n);
private:
double n;
};
Numero.cpp
#include "Numero.h"
Numero Numero::operator+(const Numero& n2) {
return Numero{ n + n2.n };
}
Numero Numero::operator-(const Numero& n2) {
return Numero{ n - n2.n };
}
Numero Numero::operator*(const Numero& n2) {
return Numero{ n * n2.n };
}
Numero Numero::operator/(const Numero& n2) {
return Numero{ n / n2.n };
}
std::ostream& operator<<(std::ostream& os, const Numero& n) {
os << n.n;
return os;
}
NumeroTestes.cpp
#include <iostream>
#include "Numero.h"
using namespace std;
int main()
{
Numero n1{0};
cout << n1 << endl;
return 0;
}
生成以下错误:
架构x86_64的未定义符号:
&#34;操作员LT;≤(标准:: __ 1个:: basic_ostream&amp;,Numero const&amp;)&#34;,引自: _main in NumeroTestes-5aa3e1.o ld:找不到架构x86_64 clang的符号:错误:链接器命令失败并带有退出代码 1(使用-v查看调用)