我正在使用BigInt类,我从另一个InfInt类派生,但是这个类只有一个operator-()用于它自己的类型。为了避免不得不这样做
BigInt one=1;
BigInt foo,bar;
bar=foo-one;
只是为了能够做到这一点,
bar=foo-1;
我用它的模板版本重载了operator-function:
template<typename T>
BigInt BigInt::operator-(const T& rhs)
{
return (*this-(BigInt)rhs);
}
但是当我尝试编译时,我得到了这个错误:
Undefined reference to 'BigInt BigInt::operator-<int>(int const&)'
我百分之百地确信这是一个愚蠢的初学者错误,但我花了最后45分钟试图找到解决方案。此外,如果这个问题已经得到解答,我很抱歉,但我已尝试在谷歌上搜索并使用stackoverflow的内部搜索引擎,但我没有找到任何内容。
修改:实际上是this的副本,将实现移动到标题中为我修复了它。