向COM传递多维数组的问题
VARIANT Picsize;
VariantInit(&Picsize);
Picsize.vt=VT_R8|VT_ARRAY;
double figsize[16][16]={{0.0,0.0},{0,0}};
SAFEARRAYBOUND rgabound[16];
rgabound[0].cElements=16; //数组所含元素数
rgabound[0].lLbound=0; //数组上界
rgabound[1].cElements=16; //数组所含元素数
rgabound[1].lLbound=0; //数组上界
rgabound[2].cElements=16; //数组所含元素数
rgabound[2].lLbound=0; //数组上界
rgabound[3].cElements=16; //数组所含元素数
rgabound[3].lLbound=0; //数组上界
rgabound[4].cElements=16; //数组所含元素数
rgabound[4].lLbound=0; //数组上界
rgabound[5].cElements=16; //数组所含元素数
rgabound[5].lLbound=0; //数组上界
rgabound[6].cElements=16; //数组所含元素数
rgabound[6].lLbound=0; //数组上界
rgabound[7].cElements=16; //数组所含元素数
rgabound[7].lLbound=0; //数组上界
rgabound[8].cElements=16; //数组所含元素数
rgabound[8].lLbound=0; //数组上界
rgabound[9].cElements=16; //数组所含元素数
rgabound[9].lLbound=0; //数组上界
rgabound[10].cElements=16; //数组所含元素数
rgabound[10].lLbound=0; //数组上界
rgabound[11].cElements=16; //数组所含元素数
rgabound[11].lLbound=0; //数组上界
rgabound[12].cElements=16; //数组所含元素数
rgabound[12].lLbound=0; //数组上界
rgabound[13].cElements=16; //数组所含元素数
rgabound[13].lLbound=0; //数组上界
rgabound[14].cElements=16; //数组所含元素数
rgabound[14].lLbound=0; //数组上界
rgabound[15].cElements=16; //数组所含元素数
rgabound[15].lLbound=0; //数组上界
//创立数组
Picsize.parray=SafeArrayCreate(VT_R8,16,rgabound); //创立一维数组
//锁定数组
SafeArrayLock(Picsize.parray);
//数组传递数据
Picsize.parray->pvData=*figsize;
代码如上,执行到最后一句时出错
access violation 0x000000005 但是二维数组是可以的,这是为什么呢?