首页 > 解决方案 > 'unary *' 的无效类型参数(有 'int')

问题描述

我有这个 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;
  }
}

编译产生错误:

'unary *' 的无效类型参数(有 'int')

我应该如何解决这个问题?

标签: c

解决方案


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

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

改为这样做:

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

我认为 中没有整数powmath.h这个答案提供了一个很好的实现。


推荐阅读