12.6.7.6 CPP0005 - 선언되지 않은 마셜링 값 타입 변수(Undeclared Marshalling Value Type Variable)

12.6.7.6 CPP0005 - 선언되지 않은 마셜링 값 타입 변수(Undeclared Marshalling Value Type Variable)

설명(Description)

cpp.ValueType으로 주석 처리된 extern 클래스와 enum은 스택에 살 수 있으며 nullable이 아닌 것으로 간주됩니다. 선언되지 않은 로컬 변수를 지원하려면 기본 네이티브 타입이 기본 생성자를 가져야 하는데, 그것은 없을 수 있습니다. 이 때문에 마셜링 값 타입의 선언되지 않은 로컬 변수는 지원되지 않으며, 그렇게 하면 이 오류를 생성합니다.

예제(Examples)

다음 예제는 CPP0005를 생성합니다.

@:semantics(value)
@:cpp.ValueType
extern class Foo {
    function new():Void;
}

function main() {
    var f : Foo; // CPP0005

    if (Math.random() > 0.5) {
        f = new Foo();
    }
}

출처: CPP0005 - Undeclared Marshalling Value Type Variable

더 알아보기