Не удалось скомпилировать программу C++ в ubuntu.
float x;
x=(m*Ts1)-(n*Ts);
new_samples[m]=(original_samples[n*Ts]*(sin(x))(2*pi*B))/(2*pi*B*(x));
Я хочу использовать функцию sin
в C++. Я включил cmath
. Тем не менее он дает ошибку:
error: 'std :: sin (x) не может использоваться как функция.
Это не верно:
(sin(x))(2*pi*B)
C++ не имеет неявного умножения, как вы привыкли в математике - (a)(b)
пытается вызвать a
как функцию, а не умножать a
и b
, и в этом случае a
является sin(x)
. Возвращаемое значение sin(x)
является double
, а double
не является вызываемой функцией.
Вы действительно хотели написать это:
(sin(x)) * (2*pi*B)
Учитывая, что (sin(x)) * (2*pi*B))/(2*pi*B*(x))
является просто sin(x)/x;
, Я сильно подозреваю, что вы хотели написать либо sin(2*pi*B)/(2*pi*B*(x));
или sin(2*pi*B*x)/(2*pi*B*(x));
, (т.е. sinc(2*pi*B*x)
, но это не C++).
Мы немного догадываемся, и компилятор тоже. То, что вы написали, просто не имеет большого смысла.