Windows Phone 8 をサポートするランタイム コンポーネントを作成しようとしています。プログラムの簡単な説明は次のとおりです。
- アプリケーション (C#) は、ref struct A にいくつかのデータを入力しようとしています
- ref struct A のオブジェクトで ref クラス VVoiP の init API を呼び出します。
- 参照クラス VVoip は、複数のインスタンスを持つことができるように、クラス B のオブジェクトの配列を持つ必要があります。
C# コード:
using TestWRC;
namespace TestPrj
{
public partial class MainPage : PhoneApplicationPage
{
// Constructor
public MainPage()
{
VVoIP v1 = new VVoIP();
A a1 = new A();
a1.a = 10;
v1.init(a1);
}
}
}
C++ コード:
namespace TestWRC
{
public ref struct A sealed
{
public:
property int a;
};
struct B {
A^ A_obj;
};
public ref class VVoIP sealed
{
private:
B array[3]; /* Array of object to have multiple instance */
public:
void init(A a1);
};
}
using namespace TestWRC;
void VVoIP::init(A a1)
{
array[0].A_obj->a = a1.a; /* Filling local array with initialized data*/
}
上記のコードから次のエラーが発生します。
エラー C3992: 'init': パブリック メンバーの署名に無効な型 'TestWRC::A' が含まれています
私は Windows Phone 8 を初めて使用します。このエラーの意味と、これを修正する方法を教えてください。前もって感謝します。