2016-12-27 3 views
0
/** Computes the area of this triangle. @return This triangle's area. */ 
template<class T> 
T Triangle<T>::getArea() const { 
    double s, area; 
    s= (side1+side2+side3)/2; 
    area = sqrt(s*(s-side1) * (s-side2)* (s-side3)); 
    return area; 

} 

予想される出力は9です。私はgoogleテストを使用しています。この関数は常に間違った領域を出力しています

答えて

1

コードに非常に簡単な間違いがあります。 double変数を宣言したときは、浮動小数点数を宣言する必要があります。あなたのコードでは、2の後にゼロ(.0)を入れるだけです。

s =(side1 +side2+side3)/2.0; 
+0

HaHa yeah、どうすればこのようなミスをすることができますか?それをキャッチするためにありがとう。 – suman

関連する問題