【问题标题】:How to convert from 'cli::array<Type>^' to 'CDWordArray &'如何从 'cli::array<Type>^' 转换为 'CDWordArray &'
【发布时间】:2011-07-25 07:54:01
【问题描述】:

我的 MFC 代码有一个功能:

SelectItems(CDWordArray & awTop);

我通过另一个 CPP 项目调用这个,如下:

array< unsigned int >^ selectedItems;  
DWORD cnt = m_handle->SelectItems(selectedItems);

但我得到错误

can not convert parameter 1 from 'cli::array<Type>^' to 'CDWordArray &'

【问题讨论】:

  • 人们还在使用CDWordArray? std::vector 成为标准有多久了?

标签: visual-c++ mfc c++-cli interop mixed-mode


【解决方案1】:

CDWordArray 不太可能与托管数组兼容,CObject 基类使它变得模糊不清。您必须创建它的新实例并复制数组元素。这很昂贵,考虑重组代码以便您可以使用pin_ptr&lt;&gt; 类。 MSDN HowTo 文章is here。不要投射从pin_ptr&lt;&gt; 获得的指针,这不太可能起作用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    相关资源
    最近更新 更多