首页 > 解决方案 > 即使我在函数结束时返回了 C++ 未使用变量警告

问题描述

Table::Table(int n): maxGuests(n)
{
    int numGuests = 0;
}
int Table::maxOccupancy(void)
{
    return maxGuests;
}

int Table::currentOccupancy(void)
{
    return numGuests;
}

与上面的代码一样,我收到了一个未使用的numGuests警告,即使在访问器结束时返回它也是如此。为什么会这样?

谢谢 :)

标签: c++

解决方案


在代码中

Table::Table(int n): maxGuests(n)
{
int numGuests = 0;
}

定义了一个局部变量numGuests,它不是类属性。这在任何地方都没有使用。因此,您会收到警告。int声明中的removeint numGuests = 0;应该可以解决这个问题。

或者更好的是,您可以更新代码以将此属性包含在初始化列表本身中,例如:

Table::Table(int n) : maxGuests(n), numGuests(0)
{
}

推荐阅读