编译vs2015代码报错:重定义默认参数 : 参数 1
解决:需要检查一下声明和定义是否重复赋给了某个变量初值。
函数声明:uint16_t move(uint16_t number, uint8_t c, uint8_t bit = 8);
函数定义:
uint16_t move(uint16_t number, uint8_t c, uint8_t bit = 8)
{
//首先判读输入的是否合理
if (number < 0 && number >= pow(2, bit))
std::cout << "输入的参数1:" << number << "不合理!" << endl;
if (c >= bit)
std::cout << "输入的参数2" << c << "不合理!" << endl;
return0;
}
可以看到,bit 这个变量在函数声明和定义中都赋了初值,只需要将声明部分赋的初值删除就可以排除问题(或者将定义部分的初值删除)
。