gpt4 book ai didi

c - 如何通过从字符串常量到 'char' 的不推荐转换来解决此错误?

转载 作者:行者123 更新时间:2023-11-30 19:11:59 25 4
gpt4 key购买 nike

编译后,出现错误(ps:我使用 devc++ 5.9.2 作为编译器,我的一个 friend 使用 dev c++ 5.1.1,她能够编译)。

[Warning] Deprecated conversion from string constant to 'char*' [-Wwrite-strings]

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;
}

最佳答案

您没有显示 subMenu 函数,但它很可能将 char * 作为其第一个参数。因为它不是 const,所以该函数可以自由修改该参数所指向的内容。然而,这对于通常驻留在内存只读部分的字符串常量不起作用。

更改 subMenu 的定义,以采用 const char * 作为第一个参数。

编辑:

查找 subMenu 的定义位置。它可能看起来像这样:

void subMenu(char *name, int value)

将其更改为:

void subMenu(const char *name, int value)

关于c - 如何通过从字符串常量到 'char' 的不推荐转换来解决此错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38266872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com