在我目前的程序中,我有一个已定义为
的函数 void functionName( const customClass object );
现在,在此函数的代码中,不使用此对象。我无权删除参数,也无法删除unused parameter
警告。
我是否可以使用此对象执行一个语句(customClass没有我可以在这里运行的任何函数),所以这个警告不会发生?
答案 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);
}