C - 不兼容的整数转换指针?
问题描述:
当我试图运行下面的代码我得到这样的警告:C - 不兼容的整数转换指针?
warning: incompatible pointer to integer conversion assigning to
'char' from 'char *'; dereference with * [-Wint-conversion]
namesList[0]=name1;
这里是我的代码:
int main(){
char namesList[20];
char *name1="Nelson Mandela";
namesList[0]=name1;
return 0;
}
如何摆脱这个警告?谢谢。
编辑:乔纳森·莱弗勒帮我做namesList[0] = *name1;
答
看你怎么写你的代码修复它,它似乎想要namesList
是一个字符串数组,所以要解决它,你应该更改您的代码:
int main(){
char *namesList[20];
char *name1="Nelson Mandela";
namesList[0]=name1;
return 0;
}
指定一个字符而不是一个字符指针。例如,'namesList [0] = * names1;'。或者改变一个变量定义。这取决于你想要做什么 –
你想分配一个字符还是整个字符串?查看后面的'strcpy'。 –
@JonathanLeffler谢谢你的工作:) – fredjohnson