划地课堂吧 关注:267贴子:1,074
  • 3回复贴,共1

E0144"const char *" 类型的值不能用于初始化 "char *" 类型的

只看楼主收藏回复

c++语句char *name[] = { "china","india","amarica","england" };
用户Visio studio 2019调试出现错误
错误(活动)E0144"const char *" 类型的值不能用于初始化 "char *" 类型的实体
用dev5.9.1调试出现警告
[Warning] deprecated conversion from string constant to 'char*' [-Wwrite-strings]
什么原因?怎么解决?
程序代码
#include <iostream>
#include <string>
using namespace std;
int main()
{
void sort(char * name[], int n);
void print(char* name[], int n);
int n;
char *name[] = { "china","india","amarica","england" };
cout << "原始顺序是:";
for (n = 0; n < 10; n++)
cout << name[n] << " ";
cout << endl;
sort(name, n);
cout << "正确的顺序是:";
print(name, n);
return 0;
}
void sort(char* name[], int i)
{
int min = 1, n, m;
char* temp;
for (n = 0; n < i; n++)
for (m = n + 1; m <= 10; m++)
{
if (name[n] > name[m])
min = i;
temp = name[n];
name[n] = name[min];
name[min] = temp;
}
}
void print(char* name[], int n)
{
for (n = 0; n < 10; n++)
cout << name[n] << " ";
cout << endl;
}


1楼2020-02-09 18:26回复
    主函数中的指针数组名不要和形参中的参数名一样,把你说出错的name改成别的名称


    2楼2020-02-12 08:06
    收起回复