以下是代码:
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
您不能将 AltiVec 类型vector signed int
视为数组。使用例如vec_ld
内在函数将值从数组加载到 AltiVec 向量。
为我工作:
$ 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)