関数に互換性がない、とは?

[戻る]
gh 2002/09/12(木) 20:55:42
下記はどう言うことでしょうか?
MAINでの関数定義の
VP = AB(NR, SR);
にて
d:\nw\test.c(59) : error C2115: '=' : 互換性のない型が含まれています。

NRもSRもINT型で、関数の中でもMAINの変数定義でも合致しているのに

アイススケーター 2002/09/12(木) 21:34:18
情報量が少なくて何ともいえないのですが、
VPの型と関数ABの戻り値の型は同じですよね

短いソースなら必要な部分を掲載したらどうですか

wood 2002/09/12(木) 22:16:46
この場合
>NRもSRもINT型で
は関係有りません

VP = AB(・・・・
に問題があります

たとえば
INT VP;
にたいして

flote AB(int,int)
{
flote xx;

return xx;
}

になっていると

int = (flote) AB(・・・・・
と解釈されて
変数のタイプが違うということで怒られます

また、マイクロソフト以外のコンパイラの場合
プロトタイプ宣言が必要です

MAIN関数の前または、関数 ABが使用される前に
関数 ABの記述が必要になります
ただしこの関数の宣言のときに
void型だったら余計ダメですけど

wood 2002/09/12(木) 22:22:40
追加
>d:\nw\test.c
C言語としてコンパイルされているみたいですので

この程度のコンパイルエラーで悩んでいるのなら
C言語の基礎知識、解説書をもう一度読み直してみてはどうですか

古いスレッドには追加発言できません。