objeto llamado no es una función o puntero de función

Estoy escribiendo un progtwig para un filtro de paso bajo. Cuando compilo me sale el siguiente error:

objeto llamado no es una función o puntero de función

Para las variables declaré con doble. ¿Alguna idea de por qué esto está pasando?

#include  #include  #include  int main(int argc, char **argv) { double omega1, omega2, omegac, T, dt; int N, method; FILE *in; // Open the file and scan the input variables. if (argv[1] == NULL) { printf("You need an input file.\n"); return -1; } in = fopen(argv[1], "r"); if (in == NULL) return -1; fscanf(in, "%lf", &omega1); fscanf(in, "%lf", &omega2); fscanf(in, "%lf", &omegac); fscanf(in, "%d", &method); T = 3 * 2 * M_PI / omega1; // Total time N = 20 * T / (2 * M_PI / omega2); // Total number of time steps dt = T / N; // Time step ("delta t") // Method number 1 corresponds to the finite difference method. if (method == 1) { int i; double Voutnew = 0, Voutcur = 0, Voutprev = 0; for (i = N; i != 0; i--) { Voutnew = ((1/((1/((sqrt(2))(dt)(omegac))) + (1/((dt)(dt)(omegac) (omegac))))) * (((2/((dt)(dt)(omegac)(omegac))) - 1)(Voutcur) + (1/((1/((sqrt(2))(dt)(omegac))) - (1/((dt)(dt)(omegac)(omegac)))))(Voutprev) + Sin((omega1)(T)) + (1/2)(Sin((omega2)(T))))); Voutcur = Voutnew; // updates variable Voutprev = Voutcur; // passes down variable to next state printf("%lf\n", Voutnew); } } else { // Print error message. printf("Incorrect method number.\n"); return -1; } fclose(in); return 0; } 

Aquí está la lista de errores que recibo:

 In function 'main': Line 38: error: called object '1.41421356237309514547462185873882845044136047363e+0' is not a function Line 38: error: called object 'dt' is not a function Line 38: error: called object 'dt' is not a function Line 38: error: called object '1.41421356237309514547462185873882845044136047363e+0' is not a function Line 38: error: called object 'dt' is not a function Line 38: error: called object 'omega1' is not a function Line 38: error: called object 'omega2' is not a function Line 38: error: called object '0' is not a function 

Necesitas el operador de multiplicación.

 ((sqrt(2))(dt)(omegac) 

por ejemplo, está mal, debe especificar el operador de multiplicación explícitamente en todos los lenguajes de progtwigción que conozco al menos

 sqrt(2) * dt * omegac 

Además, usar demasiados paréntesis hace que tu código sea muy difícil de leer, así que no lo hagas.

El uso de paréntesis fue el caso del mensaje de error, ya que

 (dt)(omegac) 

se interpreta como si dt fuera una función y omegac un parámetro pasado a ella, y dado que dt no es una función, el mensaje de error tiene sentido.

Esto es solo una pequeña parte del código que necesita ser arreglado, y si yo fuera usted, dividiría la expresión en subexpresiones, no es realmente fácil ver un error en el grande que tiene allí.

Las referencias indefinidas a Sin son porque c distingue entre mayúsculas y minúsculas, no hay una función llamada Sin , es sin .