c - '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')
我应该如何解决这个问题?
解决方案
在这里,您可能正在尝试使表达式平方。
X[I] = A[I] * ( B[I] - C[I] )**2;
改为这样做:
X[I] = A[I] * pow(B[I] - C[I], 2.0);
我认为 中没有整数pow
,math.h
但这个答案提供了一个很好的实现。
推荐阅读
- php - setcookie() 期望参数 2 是字符串,数组有什么问题?
- javascript - 子组件 Vue.js 中的道具值未更新
- docker - 为什么简单的 Dockerfile 会给出“权限被拒绝”?
- javascript - 如何在 Laravel Blade 文件中初始化()一个 JS
- node.js - Prisma:在突变解析器中使用计数
- django - 当我没有时,Django 认为我有一个 id 字段
- algorithm - 了解改进的 Baugh-Wooley 乘法算法
- java - 我有一个用于 Java 开发的 Eclipse IDE。我如何为 JSP 使用相同的 IDE?
- c# - 用户登录时如何更改声明
- ruby-on-rails - 使用 ransack for Rails 应用程序材料下拉选择视图