'一元*'的无效类型参数(具有'int')

时间:2018-10-08 11:58:16

标签: c

我有这个C程序:

#include <stdio.h>
#include <math.h>
main() {
  int I;
  double A[3]={0.0, 1.0, 2.0};
  double B[3]={0.0, 1.0, 2.0};
  double C[3]={0.0, 1.0, 2.0};
  double X[3];

  for (I=0; I<3; I++) {
      X[I] = A[I] * ( B[I] - C[I] )**2;
  }
}

编译会产生错误:

  

无效类型参数“一元*”(具有“ int”)

我该如何解决?

1 个答案:

答案 0 :(得分:0)

在这里,您可能正在尝试对表达式求平方。

X[I] = A[I] * ( B[I] - C[I] )**2;

改为这样做:

X[I] = A[I] * pow(B[I] - C[I], 2.0);

我认为pow中没有整数math.h,但是this answer提供了一个不错的实现。