编译报错:E0144 "const char *" 类型的值不能用于初始化 "char *" 类型的实体
平时这段代码用得好好的,突然就报错了,试过网上很多方法都没用,不行只有重装试试了
我不记得从哪个版本的VS开始就不允许这样赋值了,解决方法和你尝试过的差不多,大体上也是强转或者先用数组存储,再赋值给char*,实现上和你有一点差别
//第一种强转,要把每一个const char* 类型的字符串进行强转
char* testc[] = {(char*)"test1",(char*)"test2",(char*)"test3"};
//第二种用数组存储,同样要把每一个const char*类型的字符串先用数组存储
char test1[] = "test1";
char test2[] = "test2";
char test3[] = "test3";
char* testc[] = {test1,test2,test3};
这两种方法应该都是可以的,总之要把每一个const char*类型的数据进行单独的处理
编译器要求比较高,你只能改成const char * testc[]了
因为后面的"test1"字符串都是常量字符串