在编译某些代码时,我遇到了“重新定义默认参数”的错误。这是引发错误的行:
bool wCommandDistributor::initialise (const bool server = true, const short ncmds=0,
byte (*cmds)[CMD_MAX_RECLEN] = (byte (*)[CMD_MAX_RECLEN])0)
无论如何我可以重写代码以解决错误吗?这不是我写的代码。我正在帮助重写代码,它是用C ++编写的。
提前致谢。
答案 0 :(得分:6)
编译器说明了这一切,你正在重新定义initialise
的默认参数(即使它们可能是相同的)。
默认参数可能已在函数声明中定义。您无需在函数定义中重新定义它们,因此您应该将它们删除。
但只有已经在声明中定义的那些,可能是声明中定义的不,仅在定义中。在这种情况下,你应该自然地离开它们。