この簡単な問題について質問です。
「直角三角形の斜辺以外の2辺の長さを受け取り斜辺の長さを返す関数(double hypot(double x,double y))を作成し、この関数をプログラムの中で用いよ。」
以下のようなコードを書いたところ、エラーC2084「'double hypot(double,double)'は既に本体を持っています」が出てきました。
#include<stdio.h> #include<math.h> double hypot(double x, double y); void main(){ double a, b, c; scanf_s("%lf",&a); scanf_s("%lf",&b); c = hypot(a, b); printf("\n斜辺の長さ%f",c); getchar(); } double hypot(double x, double y){ double h; h = x*x + y*y; return sqrt(h); }
math.hのインクルードをしなかったらエラーC2084は出ないのですが、そうだとすればsqrt()を使えず、直角三角形の斜辺の長さを求められません。
math.hの中の標準関数にdouble hypot(double,double)が入っているとは思えません。しかしC2084が出ているということはdouble hypot(double,double)を2重に定義していることになります。
一体どういうことが起こっているか教えて頂けないでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。