0

以下是代码:

int add = foo;
vector signed int v_add;
v_add[0] = add;

错误是:error: invalid types 'vector int[int]' for array subscript

当我尝试时问题仍然存在 add = v_add[0];

请解释这个问题的原因。我正在使用 gnu 版本 3.3.2

4

2 回答 2

2

您不能将 AltiVec 类型vector signed int视为数组。使用例如vec_ld内在函数将值从数组加载到 AltiVec 向量。

于 2021-10-12T13:47:12.077 回答
2

为我工作:

$ cat vec.cpp
#include <altivec.h>
void foo () {
  int add = 1;
  vector signed int v_add;
  v_add[0] = add;
}
$ g++ -c vec.cpp
$ g++ --version
g++ (GCC) 8.4.1 20200928 (Red Hat 8.4.1-1)
于 2021-10-14T01:15:48.380 回答