- 締切済み
識別子が見つかりません
int median_value(unsigned char data3[9]) { int i, j, buf; for (j = 0; j < 8; j++) { for (i = 0; i < 8; i++) { if (data3[i+1] < data3[i]) { buf = data3[i+1]; data3[i+1] = data3[i]; data3[i] = buf; } } } return data3[4]; } この関数を他の関数内で data_B[i][j] = median_value(data3); といった形で呼び出そうとすると「識別子が見つかりません」とエラー表示が出てしまいます。何が違うのでしょうか?教えてください。なお、ほかのソース(void型)は長いので省きました。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
どうせ書くなら「正確なエラーメッセージ」を書いてください. いまどきの普通のコンパイラなら「どのファイルの何行目でどのような識別子が見つからないのか」というレベルのメッセージを出すはずです. そのファイルの当該行より前に指摘された識別子を宣言するものがあるかどうかを調べてください. ところで, この関数って入力を破壊するんだけど, それでいいの?
- aris-wiz
- ベストアンサー率38% (96/252)
>「識別子が見つかりません」とエラー表示が出てしまいます なんという識別子が見つからないといわれているのですか? コンパイラはきちんと指摘してくれるはずですが。。。 >なお、ほかのソース(void型)は長いので省きました。 提示のソースでは、原因を指摘するのは困難です。せめて、 呼び出し元のコードは詳細に書く必要があると思います。 とりあえず、提示されたコードから、呼び出し元に 「data_B」、「data3」を定義しているかを 確認してはどうでしょうか?
- hitomura
- ベストアンサー率48% (325/664)
すみませんが、「長いので省きました」という部分を提示してください。 問題はそこにあります。