【发布时间】:2019-02-09 17:55:36
【问题描述】:
//Default Constructor
bigint::bigint() {
for (int i = 0; i < CAPACITY; ++i)
digits[i] = 0;
}
//Overloaded operator==
bool bigint::operator==(const bigint& rhs) const {
for (int i = 0; i < CAPACITY; ++i)
if (digits[i] == rhs.digits[i])
return true;
return false;
}
编译程序时出现以下错误消息。我花了几个小时在谷歌上搜索并进行更改,但没有成功。
test_default_ctor.cpp:18:15:错误:二进制表达式的操作数无效 ('bigint' 和 'int') 断言(双 == 0); ~~ ^ ~bigint bi;
// Verify
assert(bi == 0);
std::cout << "0 == " << bi << std::endl;
【问题讨论】:
-
请贴出整个代码。否则,错误很明显:您似乎没有将
bigint与int进行比较的运算符,也没有转换运算符(使用代码中显示的运算符)。 -
'bigint' and 'int'好吧,实现一个bool bigint:operator==(int other)方法...
标签: c++