char carInsuranceCode;
string getCarInsuranceCode;
string CarInsuranceInformation::getCarInsuranceCode(char carInsuranceCode)
{
switch(carInsuranceCode)
{
case '1': cout << "AllState";
case '2': cout << "Geico";
case '3': cout << "StateFarm";
case '4': cout << "E-Insureance";
default: cout << "Other";
break;
}
}
void CarInsuranceInformation::printCarInsuranceInformation(void)
{
cout << "- - - - CAR INSURANCE INFORMATION - - - " << endl;
cout << "Insurance Code: "<< getCarInsuranceCode() << endl;
}
这是在头文件中完成的,不会涉及到printCarInsuranceInformation。据说char不想在switch语句中转换为字符串。必须将赋值转换为字符串中指定的字符串。
谢谢。
答案 0 :(得分:1)
getCarInsuranceCode
可以通过以下两种方式之一实现:
1)它可以返回保险公司,调用它的代码将负责输出它。
2)它可以输出保险公司,调用它的代码不应该尝试输出它。
看起来你做了另一半的一半 - 这是行不通的。
也许这就是你想要的,使用选项1:
string CarInsuranceInformation::getCarInsuranceCode(char carInsuranceCode)
{
switch(carInsuranceCode)
{
case '1': return "AllState";
case '2': return "Geico";
case '3': return "StateFarm";
case '4': return "E-Insureance";
default: return "Other";
}
}
答案 1 :(得分:0)
根据您的指示,此代码不应编译。
正如@David Schwartz所说,需要return
代替cout
。
您对getCarInsuranceCode()
的来电没有争议。