默认参数的重新定义

Redefinition of default argument

本文关键字:定义 新定义 参数 默认      更新时间:2023-10-16

我在编译一些代码时遇到一个错误,说"重新定义默认参数"。这是抛出错误的行:

bool wCommandDistributor::initialise (const bool server = true, const short ncmds=0,
                byte (*cmds)[CMD_MAX_RECLEN] = (byte (*)[CMD_MAX_RECLEN])0)

我是否可以重写代码来解决错误?这不是我写的代码。我正在帮助重写代码,它是用C++编写的。

提前谢谢。

编译器说明了一切,您正在重新定义initialise的默认参数(即使它们可能相同)。

默认参数可能已在函数声明中定义。您不需要在函数定义中重新定义它们,因此应该删除它们。

但只有那些已经在声明中定义的,可能有些是而不是在声明中,只是在定义中定义的。在这种情况下,你自然应该离开他们。