我在编译一些代码时遇到了“重新定义默认参数”的错误。这是抛出错误的行:
bool wCommandDistributor::initialise (const bool server = true, const short ncmds=0,
byte (*cmds)[CMD_MAX_RECLEN] = (byte (*)[CMD_MAX_RECLEN])0)
我是否可以重写代码来解决错误?这不是我写的代码。我正在帮助重写代码,它是用 C++ 编写的。
提前致谢。
最佳答案
编译器说明了一切,您正在重新定义 initialise
的默认参数(即使它们可能相同)。
默认参数可能已经在函数声明中定义。您不需要在函数定义中重新定义它们,因此您应该删除它们。
但只有那些已经在声明中定义的,可能有些没有在声明中定义,只在定义中。在这种情况下,您自然应该离开它们。
关于c++ - 重新定义默认参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38559323/