C++ Warning: 子类里虚函数覆盖里参数未使用

y
yuefuzi
楼主 (未名空间)


最近遇到一个C++编译警告问题

子类里override基类里的虚函数 但是有一些参数没有被用到

编译时有warning

网上搜了一下 找到以下两种解决方法

void f(int a) {} (WARNING) ==> void f(int a) { (void)a; } (NO WARNING)
void f(int a) {} (WARNING) ==> void f(int) {} (NO WARNING)

由于这样的问题大量存在 需要改很多地方 因此想了解一下 上面两种办法
哪一种更好 或者使用更广泛?如果有其他好办法也请大家赐教 谢谢!
h
helpme

/*virtual*/ void f(int a) {
log << "variable a is not used.";
g();
}

把你的logic放到g()里就行了,没那么ugly。

【 在 yuefuzi (sunshine) 的大作中提到: 】
: 最近遇到一个C++编译警告问题
: 子类里override基类里的虚函数 但是有一些参数没有被用到
: 编译时有warning
: 网上搜了一下 找到以下两种解决方法
: void f(int a) {} (WARNING) ==> void f(int a) { (void)a; } (NO WARNING)
: void f(int a) {} (WARNING) ==> void f(int) {} (NO WARNING)
: 由于这样的问题大量存在 需要改很多地方 因此想了解一下 上面两种办法
: 哪一种更好 或者使用更广泛?如果有其他好办法也请大家赐教 谢谢!

y
yuefuzi


谢谢!

【 在 helpme (名虚胖字满肥) 的大作中提到: 】
: /*virtual*/ void f(int a) {
: log << "variable a is not used.";
: g();
: }
: 把你的logic放到g()里就行了,没那么ugly。