C言語関係掲示板

過去ログ

No.13. "Incompatible types in return"エラー


はじめまして。
大学の授業で、「 fopen, getc, putc, fflush, fclose に相当す
るものを作れ、」という課題がだされて困っております。
学校にある英語のマニュアルを読み、ネット上をさまよい、
いろいろと考えてみて、いちおうソースを書いてコンパイル。
すると思った通りエラーが出されたのですが、そのエラーが
以下のようなものでした。
mondai.c: In function `main':
mondai.c:80: incompatible types in assignment
mondai.c:81: incompatible types in assignment
mondai.c:83: incompatible type for argument 1 of `mygetc'
mondai.c:84: incompatible type for argument 2 of `myputc'
mondai.c:86: incompatible type for argument 1 of `myfclose'
mondai.c:87: incompatible type for argument 1 of `myfclose'
mi

辞書を調べてみたら incompatible = 「矛盾した」 と書いてありました。
これはどういうことでせう?
ソースを書いたら、長過ぎるとはねられてしまいました。
これだけでわかるかどうか疑問ですが、どういうときにこのエラーがでるというのを具体的におしえていただけるとうれしいです。


矛盾したということは、どこかに相反するかしょがあるのでしょう。

あと、LSI C-86 Ver.3.30 試食版についているユーザーズマニュアル
ファイル名 "lsic86.man"をやinclude ファイルを見れば少し難しいですが、作ろうとしている関数のことが良く解ると思います。

LSI C-86 Ver.3.30 試食版 はここから
http://www.vector.co.jp/ftptx/pack/maker/lsi/lsic330c.lzh


"Incompatible types in return"
は、「関数が宣言と異なる型の値を返している。 」ですので、関数のプロトタイプ
をチェックしてみてください。キャストが必要なのかもしれません。

さて、、「 fopen, getc, putc, fflush, fclose に相当するものを作れ」ということですが、
これは、ioctlを使えと言うことでしょうか。
それとも、openやreadなどの低水準入出力関数を使えという意味なのでしょうか。
ちょっと、書き込みだけではよくわかりませんでした。
もし、前者ですとすみませんが私の手には負えません。

戻る


「初心者のためのポイント学習C言語」 Last modified:2001.7.25
Copyright(c) 2000-2002 TOMOJI All Rights Reserved