我收到編譯錯誤「new_str = combine_string(newstr,」test「);」錯誤:傳遞ARG`combine_string」的1來自兼容的指針類型傳遞來自不兼容指針類型的`combine_string'的arg 1
char * combine_string(char *, char *);
....
char *new_str;
new_str = newstr(item, strlen(item));
new_str = combine_string(newstr, "test");
...
char * combine_string(char *name, char *name2)
{
char *retval;
retval = erealloc(retval, (strlen(name) + strlen(name2) + 1));
if (retval != NULL)
sprintf(retval, "%s%s", name, name2);
else
free(name); //Wouldn't use it any longer
return retval;
}
...
char *newstr(char *s, int l) {
char *rv = emalloc(l + 1);
rv[l] = '\0';
strncpy(rv, s, l);
return rv;
}
new_str和被中newstr不一樣的東西 –
啊。我爲變量和函數名稱使用了相同的名稱,當我改變它時,我忘了在該位置添加「_」。 – user994165