c++中纯虚函数和子函数中未使用的参数
Pure virtual functions and unused arguments in child functions in C++
我有以下内容:
class Parent {
public:
virtual bool foo(vector<string> arg1, vector<string> arg2) = 0;
};
class Child : public Parent {
public:
bool foo(vector<string> arg1, vector<string> arg2);
};
// arg1 and arg2 not used - GIVES WARNING
bool Child::foo(vector<string> arg1, vector<string> arg2) {
return false;
}
foo(…)没有父实现,因为它是一个纯虚函数。父类说foo有两个矢量参数。子节点用两个字符串参数正确地实现了它,但没有使用它们。然而,Parent的一些子类会使用这些参数,所以它们需要一直在那里。
是否有任何方法我可以使用重载允许foo在给定的子类没有参数,即使父母说它必须?
许多谢谢。不要指定参数名:
// arg1 and arg2 not used - GIVES WARNING
bool Child::foo(vector<string>, vector<string>) {
return false;
}
应该可以解决警告。
如果你的编译器由于某种原因不支持它,那么这样做:
// arg1 and arg2 not used - GIVES WARNING
bool Child::foo(vector<string> arg1, vector<string> arg2) {
(void)arg1; (void)arg2; // ignore parameters without "unused" warning
return false;
}
相关文章:
- 仅当一个参数中未使用 std::function 时,模板函数替换才有效
- isPalindrome不显示输出,isPalindrome函数未使用字符串输入作为字符串参数进行测试
- "(void) cast"与功能有什么区别 "__attributes__"来沉默未使用的参数警告?
- 具有未使用的模板参数的函数模板
- 参数设置但未使用
- 未使用模板类型定义的同时参数包扩展错误
- 警告:用两个参数构造函数返回对象时,表达结果未使用
- 尝试使用参数包绑定 std::function 时获取未声明的参数
- clang:警告:编译期间未使用的参数:"-stdlib=libc++"
- C++:错误:成员访问不完整的类型,未使用的参数[-Werror,-Wunused-parameter]
- 运算符++:引用与值返回和未使用的参数
- 在C++中,是否可以使用定义中未使用的模板参数声明模板结构?
- 如何强制MSVC链接一个未使用的静态库(相当于GC——整个归档参数)
- 在 excel 中使用 C++ dll 时未考虑参数
- 调试代码并C++未使用的参数警告
- C++:未使用参数优化的力度
- 用于未使用参数参考的单线解决方案
- 函数调用中未使用的参数的模板参数推导
- 可移植的未使用参数宏用于C和c++的函数签名
- 在gcc和Clang中没有关于模板函数中未使用参数的警告