error C2440: “默认参数”: 无法从“const char [6]”转换为“char *”
定义了一个带默认参数的函数:
void funcView(char *name = "babiq");
编译就会报上面的错误;
解决方法:
(其实有两种,一个是按照正常逻辑,添加const ,其次是强制转换)
首先解释下为什么会报错:
这是因为实参 "babiq"是字符型常量,所以形参要用const型;
1、改写为:void funcView(const char *name = "babiq");
2、改写为:void funcView(char *name = (char *)"babiq");
3、最后补充一种,直接调试编译器,保持之前版本兼容性:
把语言->符合模式改为否