C++ CComSafeArray:MultiDimSetAt和multidimsgetat的索引真的颠倒了吗?

C++ CComSafeArray:MultiDimSetAt和multidimsgetat的索引真的颠倒了吗?,c++,visual-studio,com,visual-c++,atl,C++,Visual Studio,Com,Visual C++,Atl,在中,alIndex记录如下: 指向数组中每个维度的索引向量的指针最右边(最不重要)的维度是alIndex[0]。 在中,alIndex的记录方式不同: 指向数组中每个维度的索引向量的指针最左边(最重要)的维度是alIndex[0]。 这让我想到,为了得到同一个元素,需要颠倒多维数组中索引的顺序。然而,我发现实际情况并非如此 我是否误用了此界面,运气好,误解了文档,或者这可能是文档中的错误?这似乎是文档错误-我建议您参考SafeArrayGetElement/SafeArrayPuteEleme

在中,alIndex记录如下:

指向数组中每个维度的索引向量的指针最右边(最不重要)的维度是alIndex[0]。

在中,alIndex的记录方式不同:

指向数组中每个维度的索引向量的指针最左边(最重要)的维度是alIndex[0]。

这让我想到,为了得到同一个元素,需要颠倒多维数组中索引的顺序。然而,我发现实际情况并非如此


我是否误用了此界面,运气好,误解了文档,或者这可能是文档中的错误?

这似乎是文档错误-我建议您参考SafeArrayGetElement/SafeArrayPuteElement文档,因为它似乎更准确

要设置和获取相同的元素,您应该使用相同的索引数组(不反转)


顺便说一句,接得好

很可能这就是它的工作方式。我不得不在去年的C++应用程序中实现Excel自动化,并且必须反转方法Cal.ChADNC中参数的顺序,调度调用中的参数顺序不是这个问题所指的。