error: incompatible types when initializing type ‘__m256i {aka const __vector(4) long long int}’ using type ‘int
时间: 2024-02-02 19:05:20 浏览: 343
无法从 int? 转换为 int 运行时出现错误
这个错误是因为你在初始化 `__m256i` 类型的变量时使用了 `int` 类型的值,这两种类型是不兼容的。你需要确保你的变量类型与初始化值类型相同。
可能的解决方法取决于你的具体代码和使用情况。如果你需要将 `int` 类型的值存储到 `__m256i` 类型的变量中,你可以使用 `_mm256_set_epi32()` 或 `_mm256_set_epi64x()` 函数来创建一个新的 `__m256i` 类型的值。
例如,如果你想将 `int` 类型的值 `a`, `b`, `c`, `d`, `e`, `f`, `g`, 和 `h` 存储到一个 `__m256i` 类型的变量 `vec` 中,你可以这样做:
```
__m256i vec = _mm256_set_epi32(h, g, f, e, d, c, b, a);
```
或者,如果你想将 `long long int` 类型的值 `a`, `b`, `c`, 和 `d` 存储到一个 `__m256i` 类型的变量 `vec` 中,你可以这样做:
```
__m256i vec = _mm256_set_epi64x(d, c, b, a);
```
阅读全文