默认参数的重新定义
Redefinition of default argument
我在编译一些代码时遇到一个错误,说"重新定义默认参数"。这是抛出错误的行:
bool wCommandDistributor::initialise (const bool server = true, const short ncmds=0,
byte (*cmds)[CMD_MAX_RECLEN] = (byte (*)[CMD_MAX_RECLEN])0)
我是否可以重写代码来解决错误?这不是我写的代码。我正在帮助重写代码,它是用C++编写的。
提前谢谢。
编译器说明了一切,您正在重新定义initialise
的默认参数(即使它们可能相同)。
默认参数可能已在函数声明中定义。您不需要在函数定义中重新定义它们,因此应该删除它们。
但只有那些已经在声明中定义的,可能有些是而不是在声明中,只是在定义中定义的。在这种情况下,你自然应该离开他们。
相关文章:
- 在类定义之后定义一个私有方法
- Android Studio:如何在build.gradle中定义自定义宏(针对不同的构建变体),并让原生C / C++
- 如何在C++中为 if 和 else 语句定义新行为
- 如何从 C++ 中的现有模板函数定义新函数
- 如何在CPropertySheet中定义新颜色
- 谁定义新操作员
- boost :: fibonacci_heap:带有比较器重新定义圆形定义错误的嵌套定义
- C 通过Typedef定义新类型
- 在 ss.clear() 之后使用 ss.str( " ") 用于新定义的字符串流
- 是标头文件中使用“新”定义的成员指针泄漏
- 使用带有Eigen库的自定义新处理程序
- 定义新的优化类型
- C# 如何定义新的指针结构
- 为模型定义新角色后程序崩溃
- C++使用类来定义新类型
- 操作员新[]定义分解
- 为什么不调用复制构造函数将临时对象复制到新定义的对象
- Qt:在按钮点击上添加自定义新选项卡
- 定义新的中缀操作符
- 错误:不能在返回类型中定义新类型