声明一个内部有指针的联合指针
Declaring a union pointer with a pointer inside
我正在努力学习SSE指令,我渴望将两个矩阵相乘。但是,当我尝试初始化它们中的一个时,程序崩溃并出现
下面是抛出错误的代码:输入location
时发生访问冲突
typedef union{
__m128 vec;
float* afloat;
}u_float;
int main(){
__declspec(align(16)) u_float *mat1;
mat1 = (u_float*)malloc(sizeof(u_float)*4);
for(int i = 0; i < 4; i++)
mat1[i].afloat = (float*)malloc(sizeof(float)*4);
for(int i = 0; i < 4; i++)
for(int j = 0; i < 4; j++)
mat1[i].afloat[j] = 1; // Error.
return 0;}
- 为什么抛出这个错误?
- 解决这个问题的最好方法是什么?
这与union
s无关。你的循环中有打字错误:
for(int i = 0; i < 4; i++)
for(int j = 0; i < 4; j++) // <-- Here
mat1[i].afloat[j] = 1;
注意,内部for循环在i小于4时循环,而当j小于4时循环不循环,所以这个循环是无限的。
相关文章:
- 指针没有更新它在void函数内部指向的值
- 为什么向量内部的指针在从函数返回时会发生变化?
- 如何在类内部使用和访问静态指针到成员值s_ptm?
- 正确的方法是什么?调用指针到指针到指针内部的函数?
- 静态指针指向这个为mock for googletest定义的类内部
- 指针(指向指针)和新/malloc 向量(向量内部)c++
- 如何让指针的深层副本将内部结构发送到内核?
- 指向C++中成员的指针如何在内部工作?
- 作为 int 传递和类内部指针之间的差异给我带来了分段错误
- 指针帮助:取消指向访问其内部数据的结构的指针
- 在函数内部错误定位后,从函数中释放返回的指针会导致芯片崩溃
- 如果访问对象,则指向的对象内部的指针会更改内存位置
- 函数指针仅在 main 内部工作
- 如何将功能指针传递到该功能内部的函数
- 当指针作为指向另一个功能内部指针的指针传递时会发生什么
- 获取指向自我内部班级的指针
- 参数内部和外部的指针
- C++:我需要释放函数内部的指针吗?
- 初始化指向另一个结构内部结构的指针
- 超载COUT查看指针内部的内容