/* 警告: B:e4117: void ではない 関数 "x" は値を返さなければいけません */
修正前 enum RET_CODE { OK, ERROR }; enum RET_CODE x(char *str) { if(str == NULL) { return ERROR; } puts(str); return; /* ←不定値が返る */ }
修正後 enum RET_CODE { OK, ERROR }; enum RET_CODE x(char *str) { if(str == NULL) { return ERROR; } puts(str); return OK; }
解説 戻り値がある関数で戻り値を書き忘れると、ゴミが返り、 呼んだ側で意図しない結果を招きます。