gpt4 book ai didi

C:为什么我得到无效的初始值设定项?

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:45 25 4
gpt4 key购买 nike

我必须执行一个返回两个 vector 的点积的函数。这是他的代码:

float res;
float v1[3];
float v2[3];

v1[0] = 3;
v1[1] = 2;
v1[2] = 0;
v2[0] = 2;
v2[1] = 5;
v2[2] = 0;


float dotProd(float *vec1, float *vec2) {
return vec1[0]*vec2[0] + vec1[1]*vec2[1] + vec1[2]*vec2[2];
}

res = dotProd(v1, v2)

我认为函数是正确的,问题是当我定义 vector 的值时出现无效初始化错误。

我错过了什么?

最佳答案

您尝试做的不是初始化,而是赋值。前者是在定义变量时完成的,而后者是稍后作为可执行语句完成的。您收到错误消息是因为不允许在函数外部使用可执行语句。

您需要在定义数组时使用初始化程序:

float v1[3] = {3, 2, 0};
float v2[3] = {2, 5, 0};

关于C:为什么我得到无效的初始值设定项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43640235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com