错误:'std :: sin(x)'不能用作函数

时间:2014-01-30 19:20:59

标签: c++

无法在ubuntu中编译C ++程序。

float x;
x=(m*Ts1)-(n*Ts);
new_samples[m]=(original_samples[n*Ts]*(sin(x))(2*pi*B))/(2*pi*B*(x));

我想在C ++中使用sin函数。我收录了cmath。仍然是错误:

  

错误:'std :: sin(x)'不能用作函数。

2 个答案:

答案 0 :(得分:8)

这是错误的:

(sin(x))(2*pi*B)

C ++没有像你在数学中习惯的那样隐式乘法 - (a)(b)尝试将a作为函数调用,而不是乘以ab,在这种情况下,asin(x)sin(x)的返回值为doubledouble不是可调用函数。

你真的想写这个:

(sin(x)) * (2*pi*B)

答案 1 :(得分:0)

考虑到(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 ++)。

我们猜测了一下,编译器也是如此。你所写的内容并没有多大意义。