virtual
标记__attribute__((unused))
方法的未使用参数参数与将参数强制转换为(void)
之间有功能上的区别吗?class Other {
virtual int sum(int a, int b, int c);
};
class Example : Other {
virtual int sum(int a, int b, int c __attribute__((unused))) override {
return a + b;
}
};
class Example2 : Other {
virtual int sum(int a, int b, int c) override {
(void)c;
return a + b;
}
};
两者都可以使未使用的参数警告保持沉默,如果以后再使用该变量也不会发出警告。另外,GCC __attribute__
更长。
在使用GCC的__attribute __((未使用))标记虚拟方法的未使用参数参数与将参数强制转换为(void)之间有功能上的区别吗?类Other {virtual int ...