2016-12-02 6 views
-3

ユーザーは、文字から二重に変換された数値を入力します(入力は何らかの番号に更新される前に0.0になります)。私はこれを変換して罪の価値を見つけることができるはずです。現時点では、「関数呼び出しで引数が多すぎます」というエラーが表示されます。私はユーザーの入力をラジアンに変換する必要があることを理解していますが、私は回避策を見つけることができません。ここでsinにmath.hを使用すると、「関数呼び出しで引数が多すぎます」

は、関数が他のクラスからアクセスされたとしてpublicを使用して、コードのスニペット(私のPiと対数関数は大丈夫働く)

です。

私は多くのソースを見てきましたが、ここでは2つの助けがありました。 http://www.cplusplus.com/reference/cmath/sin/

http://www.cplusplus.com/forum/beginner/144006/

私は何かを明らかに欠けている知っているが、私はそれに私の指を置くように見えることはできません。

#include <iostream> 
#include <stdlib.h> 
#include <stdio.h> 
#include <math.h> 
#include <string> 
#include <cmath> 
class calculations { 
public: double sin() 
{ 
    double radian = ((number1 * 180)/2); 
    result = sin(radian); 
    return result; 
} 
} 

ありがとうございました。

+1

'public:'があなたのために外れているとは思いませんか? – DeiDei

+0

@DeiDei別のヘッダーファイルからアクセスしています。私の他のすべての関数は、Piまたは対数を使っても問題ありません。一般公開はしないでください。 –

+0

私はこれを見ました。 http://www.cplusplus.com/reference/cmath/sin/ とこのhttp://www.cplusplus.com/forum/beginner/144006/に変換しますが、私はまだエラーが発生しています –

答えて

0

std::sin(radian)に電話を変更してください。それはあなたのsin関数に電話しようとしています。あなたは引数を取らず、コンパイラが不平を言っている1つの引数で呼び出されています。

+0

ありがとう!エラーは消えました!それは間違った数字を出力していますが、少なくとも私はそれを今作業することができます! –

+0

double sin() { \t結果= std :: sin(number1); \t返品の結果; } 正しい結果が返されます。 –

関連する問題