2013-02-28 1 views
3

나는 창문 전화를 프로그램의 8 간단한 설명을 지원하는 런타임 구성 요소를 만들려고 해요는 다음과 같습니다오류가 윈도우 폰에서 "공공 회원의 서명이 기본 유형이 포함 된"8 RunTimeComponent

  1. 응용 프로그램 (C#) ref struct A의 데이터를 채울 것입니다
  2. ref 구조체 A의 객체를 사용하여 ref 클래스 V init의 객체를 호출합니다.
  3. 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를 : '초기화하기'서명 public 멤버 중 'TestWRC :: A'유형이 잘못되었습니다.

저는 Windows phone 8을 처음 사용합니다. 제발 누군가이 오류라고 말하고 어떻게 수정해야합니까? 미리 감사드립니다.

답변

3

공용 서명이 이것이 Windows 런타임 참조 카운트 된 개체임을 지정해야하므로 hat (^) 구문으로 선언해야합니다.

void init(A^ a1);