CComSafeArray:MultiDimSetAt和MultiDimGetAt的指数是否真的被逆转?

时间:2010-02-24 21:13:30

标签: c++ visual-studio com visual-c++ atl

MSDN documentation for CComSafeArray::MultiDimSetAt中,alIndex记录如下:

  

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

documentation for CComSafeArray::MultiDimGetAt中,alIndex的记录不同:

  

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

这使我认为,要获得相同的元素,需要在多维数组中反转索引的顺序。但是,我没有在实践中发现这种情况。

我是否滥用此界面并变得幸运,误解了文档,或者这可能是文档中的错误?

1 个答案:

答案 0 :(得分:1)

似乎是文档错误 - 我建议你引用SafeArrayGetElement / SafeArrayPutElement文档,因为它似乎更准确。

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

顺便说一下,好好抓住!