避免使用默认参数警告'Unreferenced Formal Parameter'
Avoid warning 'Unreferenced Formal Parameter' with default argument
这是我的函数
virtual int foo(bool status = false)
{
return -1;
}
编译器给出warning C4100: 'iDispCompIndex': unreferenced formal parameter
我想通过这种方式解决这个问题
virtual int foo(bool)
{
return -1;
}
在这种情况下,有没有办法指定参数的默认值? 因为继承的类可能需要这个
通常的方法是不命名参数,就像你说的:
virtual int foo(bool = false)
{
return -1;
}
您还可以故意忽略某个值,将其强制转换为void
:
(void)status;
至少有两个选项:
1) 使用宏UNREFERENCED_PARAMETER
2) 使用 #pragma 关闭以下确切代码部分的警告:
#pragma warning( push )
#pragma warning( disable : 4100 )
virtual int foo(bool status = false)
{
return -1;
}
#pragma warning( pop )
相关文章:
- 修复"-Wunused-parameter"取决于预处理器条件的警告
- C++模板错误:"invalid explicitly-specified argument for template parameter"
- 为什么"types may not be defined in parameter types"
- 如何理解"abstract-declarator containing an ellipsis shall only be used in a parameter-declaration"
- 为什么这段代码抱怨"a non-type template parameter cannot have type"?
- 如何抛出"template parameter"类型的异常?
- 如何在开关语句中使用 cin "as a parameter"
- 派生类中函数参数变化的虚函数按常量类型在"function parameter"会破坏虚拟机制吗?
- 在 lambda(parameter) 中为 std::transform with std::sregex_token
- 如何修复此"argument of type incompatible with parameter"错误?
- 谷歌模拟 - 怎么说"function must be called ONCE with a certain parameter but ok to be called many times with
- CUDA 内核"Only a single pack parameter is allowed"解决方法?
- "Cannot convert parameter 1 from double to float"虽然没有更改参数
- rvalue for a std::string parameter
- 在 MSVC 上,为什么没有出现 std::string 的警告"unreferenced formal parameter"?
- result_of, make_tuple, parameter pack
- "useinbandfec is a unidirectional receive-only parameter"作品中是什么意思?
- 重新定义类<template-parameter-1-2>的默认参数
- C++:错误:成员访问不完整的类型,未使用的参数[-Werror,-Wunused-parameter]
- 避免使用默认参数警告'Unreferenced Formal Parameter'