重新定义默认参数

use*_*424 4 c++ default-arguments

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

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

无论如何我是否可以重写代码以解决错误?这不是我写的代码.我正在帮助重写代码,它是用C++编写的.

提前致谢.

Rak*_*111 6

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

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

但只有已在声明中定义的那些,可能是某些在声明中定义,仅在定义中定义.在这种情况下,你应该自然地离开它们.