0

我正在尝试解决一个小问题。我有一个用标准 C++ 编写的库和使用 C++/CX 的 Windows Phone 8 新应用程序。我可以实例化旧库对象并从 C++/CX 调用旧方法,但我还需要从旧 C++ 访问新的 C++/CX 方法。

问题是新应用程序的类正在使用“ ref class Renderer seal ”,我无法传递该指针并将该文件包含到旧的 c++ 代码中。我需要做这样的事情:

用 C++/CX 编写的应用程序的主要对象

void function(){
  Renderer^ m_renderer = ref new Renderer();
  MyOldLib * m_lib = new MyOldLib();
  m_lib->setLink(m_renderer); // <-- I cannot pass parameter becouse ordinary reference is not allowed
}

用标准 C++ 编写的旧库

#include "Renderer.h" // <-- I cannot include becouse Renderer.h needs /ZW parameter
void MyOldLib::setLink(Renderer& renderer){
   m_renderer = renderer;
}

谢谢您的帮助

更新:扩展伪代码

4

0 回答 0