【发布时间】:2012-06-19 22:36:43
【问题描述】:
(这也可以表述为“如何迭代从 C++/CX 中的 C# Windows 运行时组件返回的集合?”)
我尝试在IIterable<T> 上使用std::for_each,但得到以下编译时错误
错误 C2664:“std::begin”:无法将参数 1 从 'my_collection_type ^' 到 'Platform::String ^' 否 用户定义的转换运算符可用,或类型 指出是不相关的;转换需要 reinterpret_cast, C 风格转换或函数风格转换
如何迭代集合?
【问题讨论】:
-
你真的应该添加这个错误信息。
-
@GManNickG:C++/CX,不是 C++/CLI。
-
关闭为“过于本地化”?在过去的九个月里,我在我参与的 MSDN 论坛和邮件列表上看到了至少十几次同样的问题。这怎么会“过于本地化”?
-
@AdelBoutros:提出问题并立即自己回答绝对没有错。 Stack Overflow 上的一些最佳答案(例如,the excellent post on the copy-and-swap idiom)就是以这种方式发布的。 Stack Overflow 的存在是为了促进信息共享。
-
@AdelBoutros 不幸的是我还是不明白你的立场:(为什么关于 C++/Cx 的问题会发布在 stackoverflow meta 上?