char types[5];
switch(buffer[9]){
case 1:
types = "ICMP";
break;
错误:
incompatible types when assigning to type 'char[5]' from type 'char *'
我该如何修复此错误?
感谢。
答案 0 :(得分:0)
您无法在不更改类型的情况下修复它。
数组值不是可修改的l值。如果您计划始终为其分配字符串文字,请将其声明为const char *
而不是数组:
const char *types;
switch(buffer[9]){
case 1:
types = "ICMP";
break;
如果您想稍后更改types
的内容,请将其保留为数组,然后使用strcpy()
或更安全的变体strncpy()
:
char types[5];
switch(buffer[9]){
case 1:
strncpy(types, "ICMP", sizeof(types));
break;