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();
}
}