C++ C++;交叉和点积问题
下面是我试图为我的类编写的一些代码。我已经计算出点积了。交叉积给我带来了一些麻烦。无法理解我遇到的错误: 从“int*”到“int”的转换无效C++ C++;交叉和点积问题,c++,C++,下面是我试图为我的类编写的一些代码。我已经计算出点积了。交叉积给我带来了一些麻烦。无法理解我遇到的错误: 从“int*”到“int”的转换无效 #包括 #包括 使用名称空间std; int A[3]; int B[3]; 整数长度=3; int-cross[3]; int点积(int A[],int B[]{ int乘积=0; for(int i=0;i
#包括
#包括
使用名称空间std;
int A[3];
int B[3];
整数长度=3;
int-cross[3];
int点积(int A[],int B[]{
int乘积=0;
for(int i=0;i cout对于点积,我会写:
int
dotProduct(const int A[], const int B[])
{
return std::inner_product(A, A + length, B, 0);
}
对于叉积,您应该写:
...
crossProduct (A, B, cross);
cout << "Cross Product is: ";
for (int i=0;i<length;i++){
cout << cross[i]<<" ";
}
...
。。。
交叉积(A,B,交叉);
cout如果你要返回一个int
,你需要返回一个int
。一个int
数组不是int
。还有一个小秘密:coutcross
是全局的。不需要从crossProduct
返回任何东西。这是不是一个好主意……那将是另一个问题on.Unrelated:coutcross
也被传递到crossProduct
中。重复使用这样的名称可能会导致代码混淆。方便阅读:
...
crossProduct (A, B, cross);
cout << "Cross Product is: ";
for (int i=0;i<length;i++){
cout << cross[i]<<" ";
}
...