是的,错误信息已经说得很清楚,无效类型转换。
代码中给出了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)函数时当成是可能的强制类型转换而放过了没有给出警告。
print(0,"M"); //形参和实参类型不匹配
print(year,sex);//形参和实参类型不匹配
两个参数写反了?