我首先在头文件中以这种风格编写了一个非成员运算符 == 函数:
bool operator==(
const Node& lhs,
const Node& rhs)
{
return lhs.uid == rhs.uid;
}
但它编译失败的原因是它的多个定义。我尝试了两种方法,它们都有效。1 将实现移动到 cpp 文件 2 使此运算符 == 静态函数。
大多数搜索结果都在谈论第一个解决方案。但是我可以让它静态吗?哪一个更好?
先谢谢了~
我首先在头文件中以这种风格编写了一个非成员运算符 == 函数:
bool operator==(
const Node& lhs,
const Node& rhs)
{
return lhs.uid == rhs.uid;
}
但它编译失败的原因是它的多个定义。我尝试了两种方法,它们都有效。1 将实现移动到 cpp 文件 2 使此运算符 == 静态函数。
大多数搜索结果都在谈论第一个解决方案。但是我可以让它静态吗?哪一个更好?
先谢谢了~