编译之后,它给了我一个错误(ps:我使用devc ++ 5.9.2作为编译器,我的朋友使用dev c ++ 5.1.1,她能够编译)。
[警告]已弃用从字符串常量转换为' char *' [-Wwrite串]
void switchSecondSelection(int selection){
int secondSelection;
switch(selection){
case 1:
subMenu("Supplier Info",1);
// return secondSelection;
break;
case 2:
subMenu("Customer Info",2);
// return secondSelection;
break;
case 3:
subMenu("Medicine Info",3);
// return secondSelection;
break;
case 4:
// secondSelection = showReport("Report");
break;
case 5:
// secondSelection = showBill("Bill");
break;
case 6:
mainProgram(0);
break;
default:
mainProgram(0);
break;
}
答案 0 :(得分:1)
您不会显示subMenu
函数,但最有可能需要char *
作为其第一个参数。因为它不是const
,所以该函数可以自由修改该参数指向的内容。但是对于通常位于内存的只读部分的字符串常量,这不起作用。
更改subMenu
的定义,为第一个参数设置const char *
。
编辑:
查找定义subMenu
的位置。它可能看起来像这样:
void subMenu(char *name, int value)
将其更改为:
void subMenu(const char *name, int value)