模板运算符 - 创建错误

时间:2013-12-07 09:23:26

标签: c++ templates operator-keyword

我正在使用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的副本,将实现移动到标题中为我修复了它。

0 个答案:

没有答案