我正在尝试解决一个小问题。我有一个用标准 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;
}
谢谢您的帮助
更新:扩展伪代码