###前提・実現したいこと
c言語でstrcatを用いて、構造体型の配列を繋げようとしてます。
###発生している問題・エラーメッセージ
コンパイルエラーがなぜ出ているのか、どう改善したらいいのかがわかりません。
21:20: warning: passing 'const char *const' to parameter of type 'char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers] char *s = strcat(tests[1].frst, tests[1].scnd); ^~~~~~~~~~~~~ /usr/include/secure/_string.h:125:27: note: expanded from macro 'strcat' __builtin___strcat_chk (dest, src, __darwin_obsz (dest)) ^~~~
###該当のソースコード
デバッグするため、簡略したので、testsは全要素使っていません。
#include <stdio.h> #include <stdlib.h> #include <string.h> struct testcase { const char *frst; const char *scnd; const char *result; }; const struct testcase tests[] = { {"pine", "apple", "pineaplle"}, {"sea", "shell", "seashell"}, {"break", "fast", "breakfast"} }; int main(){ char *s = strcat(tests[1].frst, tests[1].scnd); printf("%s\n",s); return 0; }
###試したこと
constを消してみました。
結果、Abort trap 6が出てコンパイルエラーでした。
###補足情報(言語/FW/ツール等のバージョンなど)
macでgccを使っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。