質問: warning の意味が分からない 下記のc言語のソースでワーニングのエラーが出ます。実行は出来ますが。 1. #include 2. int main(void){ 3. const static char *wday[3]={ 4. "sunday" 5. ,"monday" 6. ,"tuesday" 7. }; 8. char **p; 9. p=wday; 10. ++p; 11. printf("%s\n",*p); 12. return 0; 13. } gcc -o 04.exe 04.cで、下記のエラーが出ます。 04.c:in function 'main': 04.c:9: warning:assignment from incompatible pointer type 実行は正常で、mondayを表示します。 ワーニングの意味は、互換性の無いポインターの型が組み込まれていると言う事でしょうか。 この意味が分からないのと、ではこのエラーが出ない様にするにはどこをどう直せば良いのかと 言うのが分かりません。 宜しくご指摘をお願いします。
回答: ワーニングの意味は、互換性の無いポインターの型が組み込まれていると言う事でしょうか はい。その通りです。 wdayの型と、pの型をよく見比べてください。 あるいは p[0][0]='s' ; wday[0][0]='s' ; の違いを考えてみましょう。