2011-12-29 2 views
0

나는 C++/CLI를 사용하여 클래스의 프로토 타입을 헤더 파일에 선언 한 다음 cpp 파일에 구현하려고합니다.속성을 선언하고 나중에 정의 하시겠습니까?

일반적으로 이것은 매우 보편적이지만 C++/CLI 구문과 함께 작동하지 않는 것 같습니다. 무엇이 누락 되었습니까? 검색이 중 하나 (아마도이 ​​널리 더 이상 사용하지 않는 데 도움이하지 않는 것,

#using <mscorlib.dll> 

using namespace System; 

public ref class AClass { 

    public: 

     static Boolean GetSomething(); // Compiler is fine with this 
     static property Boolean Something { Boolean get(); } // Compiler doesn't complain about this 

}; 

// Compiler is not cool with this 
property Boolean AClass::Something { 

    Boolean get() { return true; } 

} 

// Compiler is fine with this 
Boolean AClass::GetSomething() { 

    return true; 

} 

내가 구문의 다양한 순열을 시도했습니다, 아무것도 작동하는 것 같다하지? 나는 그것이 나에게 작업을 분할하는 데 도움이 찾을 수 큰 수업을 더 효과적으로 ...).

컴파일러가 속성의 프로토 타입에 문제가 없다고 말하면, 구현하려고하는 구현 (및 여전히 프로토 타입이 존재 함)으로 컴파일하고 컴파일하면 컴파일러가 "성공"하고 그 다음에 연결하는 동안 심장 발작이있다.

답변

1

정상적인 함수 정의와 마찬가지로 getter 속성을 정의해야합니다.

public ref class AClass 
{ 
public: 
    static property Boolean Something { Boolean get(); } 
}; 


Boolean AClass::Something::get() 
{ 
    return true; 
} 
관련 문제