这是我目前正在处理的代码,我似乎无法找到一种方法来使该函数停止抛出“控制到达非空函数的末尾”错误。难道 else 语句不应该捕获 if 语句没有捕获的任何内容并返回 true 或 false 吗?
bool operator == (const MyInt& x, const MyInt& y)
{
if (x.currentSize != y.currentSize)
{
return false;
}
else
{
for (int i = 0; i < x.currentSize; i++)
{
if (x.integer[i] != y.integer[i])
{
return false;
break;
}
else
return true;
}
}
}
If x.currentsize == 0
and y.currentsize == 0
,那么你永远不会达到return
陈述。
我感觉您打算编写以下代码。请注意,我们只return true
一旦我们测试了整个列表。
bool operator==(const MyInt& x, const MyInt& y)
{
if (x.currentSize != y.currentSize)
return false;
for (int i = 0; i < x.currentSize; i++)
if (x.integer[i] != y.integer[i])
return false;
return true;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)