Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;交叉和点积问题_C++ - Fatal编程技术网

C++ C++;交叉和点积问题

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

下面是我试图为我的类编写的一些代码。我已经计算出点积了。交叉积给我带来了一些麻烦。无法理解我遇到的错误:

从“int*”到“int”的转换无效

#包括
#包括
使用名称空间std;
int A[3];
int B[3];
整数长度=3;
int-cross[3];
int点积(int A[],int B[]{
int乘积=0;
for(int i=0;icout对于点积,我会写:

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
。还有一个小秘密:
cout
cross
是全局的。不需要从
crossProduct
返回任何东西。这是不是一个好主意……那将是另一个问题on.Unrelated:
cout
cross
也被传递到
crossProduct
中。重复使用这样的名称可能会导致代码混淆。方便阅读:
...
  crossProduct (A, B, cross);
  cout << "Cross Product is: ";
  for (int i=0;i<length;i++){
      cout << cross[i]<<" ";
  }
...