我正在尝试创建一个支持 windows phone 8 的运行时组件。程序的简要说明如下:
- 应用程序 (C#) 将在 ref struct A 中填充一些数据
- 它将使用 ref struct A 的对象调用 ref 类 VVoiP 的 init API。
- Ref 类 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 的新手,请有人告诉我这个错误是什么,以及如何纠正这个错误。提前致谢。