执行虚假陈述

时间:2011-12-21 06:44:33

标签: c++ unix gcc

在我目前的程序中,我有一个已定义为

的函数

void functionName( const customClass object );

现在,在此函数的代码中,不使用此对象。我无权删除参数,也无法删除unused parameter警告。

我是否可以使用此对象执行一个语句(customClass没有我可以在这里运行的任何函数),所以这个警告不会发生?

4 个答案:

答案 0 :(得分:7)

您可以从定义中删除参数的名称:

void functionName( const customClass );

这不会改变函数的签名(它与您现有的声明兼容),但由于该变量未命名,因此不会有未使用的参数警告。

答案 1 :(得分:4)

您可以删除参数名称“object”。

答案 2 :(得分:4)

执行此操作的常用方法是

void functionName(const customClass object)
{
    (void)object; // gets rid of warning
}

答案 3 :(得分:1)

void functionName(const customClass object)
{
    object; // gets rid of warning
}

我认为您也可以将其投放到void,即(void)object;,但我并不完全确定。诸如UNREFERENCED_PARAMETER之类的宏可以做到这一点。

#define UNREFERENCED_PARAMETER(P) (P)
void functionName(const customClass object)
{
    UNREFERENCED_PARAMETER(object);
}