我有A类
在模板类B中
gcc -march=bdver2
我想在类B内重载A的==运算符,因为我不想在类外重载
我该怎么做?
我尝试过:
1。
template<class key>
class B
编译结果:参数过多
2。
bool operator==(const key &a, const key &b)
当我尝试使用运算符时,编译结果:找不到运算符
答案 0 :(得分:3)
您可以为您的密钥类型定义一个嵌套的私有包装器:
template<class key>
class B
{
struct EKey {
key k;
friend bool operator==(const EKey&, const EKey&) { return false; }
};
// ...
};