ページ 1 / 1
関数の宣言
Posted: 2010年12月19日(日) 23:06
by ぎゃらくし
下記のような関数宣言をしたところ、次のようなエラーが出ました。
どなたか、その意味と対策を教えて下さい
double Distance ((double a),(double b),(double c),(double d)){
double k;
k=sqrt( (a-b)^(2.0)+(c-d)^(2.0) );
return k;
}
Error E2293 07.c 11: ) expected
Re: 関数の宣言
Posted: 2010年12月19日(日) 23:22
by ぬっち
^が入っていますが、これは2乗のつもりでしょうか?
^はC言語ではxor演算子です。
2乗したいのなら素直に、a*aのようにするべきです。
Re: 関数の宣言
Posted: 2010年12月19日(日) 23:34
by box
ついでに言っておくと、
kなんていう中間的な変数や、引数を囲むよけいなカッコはいらなくって、単純に
コード:
double Distance(double a, double b, double c, double d)
{
return sqrt((a - b) * (a - b) + (c - d) * (c - d));
}
でじゅうぶんかと。
Re: 関数の宣言
Posted: 2010年12月19日(日) 23:35
by bitter_fox
ぎゃらくし さんが書きました:double Distance ((double a),(double b),(double c),(double d)){
double k;
k=sqrt( (a-b)^(2.0)+(c-d)^(2.0) );
return k;
}
Error E2293 07.c 11: ) expected
ぬっちさんが書いてらっしゃるように、演算子^はXOR演算を示します。
また、
Distance((double a), ...)
といったように、引数に括弧を使って宣言するのは、不正です。
以下のようにしてください。
double Distance(double a, double b, double c, double d)
[hr][追記]
boxさんとかぶりましたね。。。
[追記]
エラーの意味が抜けていましたね。
コード:
Error :エラー
E2293 :エラー番号2293
07.c :07.cというファイルの
11 :11行目で
) expected :)が予期されました。
Re: 関数の宣言
Posted: 2010年12月22日(水) 13:08
by naohiro19
math.hにあるpow関数を使うのも手です。