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