控制到达 bool 函数中非 void 函数的末尾[关闭]

2024-03-20

这是我目前正在处理的代码,我似乎无法找到一种方法来使该函数停止抛出“控制到达非空函数的末尾”错误。难道 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(使用前将#替换为@)

控制到达 bool 函数中非 void 函数的末尾[关闭] 的相关文章

随机推荐