" new_str = combine_string(newstr、 "test"); "という行にコンパイルエラーが発生しました。エラー:互換性のないポインタ型互換性のないポインタ型の `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によってすでにされているよう
newstr()
にして、適切なパラメータを渡す必要があります同じものではない –ああ。私は変数と関数名の両方に同じ名前を使用していましたが、変更したときにその1つの場所に "_"を追加するのを忘れました。 – user994165