ページ 1 / 1
関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 17:30
by 五代
int main(void)
{
double a,f();
a=f(2); //ここで「関数に 1 個の引数を指定できません」のエラー
return(0);}
double f(double x)
{
double y;
y=pow(x,2);
return y;
};
なぜだか全然わかりません。お願いします。
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 17:32
by シエル
double a,f();
↑このf()はいりません。
double f(double x) ;
↑このプロトタイプ宣言をmain関数の上に書いてください。
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 17:38
by 五代
解決しました!!
シエルさんありがとうございます!!!!
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 17:58
by toyo
質問見て思いついたんですがこういうのもありですかね
int main(void)
{
double a,f(double);
a=f(2);
return(0);}
double f(double x)
{
double y;
y=pow(x,2);
return y;
};
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 18:02
by シエル
そんな書き方もできるんですね。
まったく知りませんでした。
なんかいつも質問者じゃないのに勉強になってしまいますw
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 18:18
by たかぎ
解決にはなっていますが...
CでコンパイルすべきものをC++でコンパイルしようとしていませんか?
Cなら最初のソースでもコンパイルできると思います。
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 19:09
by 五代
たかぎさんのおっしゃる通りVisual c++でやってますが今までCで何の問題もありませんでした。
Visual c++だとダメな時もあるということですか?
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月25日(水) 22:28
by たかぎ
> Visual c++だとダメな時もあるということですか?
C++だとダメだということです。
詳細は、↓の「仮引数並びを省略した場合の振る舞い」を参照してください。
http://www.kijineko.co.jp/tech/cpp2c/part3
Re:関数に 1 個の引数を指定できません
Posted: 2010年8月26日(木) 12:37
by 五代
勉強になりました。
たかぎさん、ありがとうございました。