以下代码在用g++编译的时候报错,希望大神指点!(貌似是char类型赋值的原因)

2024年11月23日 02:11
有2个网友回答
网友(1):

是的,错误信息已经说得很清楚,无效类型转换。

代码中给出了print的两个重载函数print(char,float)和print(void),而第二个print()中

print(0,"M");

当g++尝试匹配第一个print(char,float)函数时,参数类型对不上号出了问题。

另外,在main函数中,连续的两行

print(year,sex);
print(sex,year);

我想其中总有一行是存在问题的吧,可能g++尝试匹配第一个print(char,float)函数时当成是可能的强制类型转换而放过了没有给出警告。

网友(2):

print(0,"M"); //形参和实参类型不匹配
print(year,sex);//形参和实参类型不匹配

两个参数写反了?