최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday

티스토리 뷰

다음은 컴파일러에서 유효하지 않은 코드가 발견되었을 때 생성되는 컴파일 오류 목록입니다. 이러한 오류 중 일부는 Strict 모드에서 코드를 컴파일할 때만 발생합니다. Strict 모드에서는 표준 언어에서 사용되지 않는 세 가지 제한이 추가됩니다.


  • 표현식은 정적 유형을 가지며 유형 오류는 확인 오류입니다.
  • 추가 확인 규칙을 통해 일반적인 프로그래밍 오류를 포착할 수 있습니다.
  • 확인 오류는 사전에 보고됩니다. Strict 모드에서만 발생하는 확인 오류는 다음과 같습니다.
    • 제공된 매개 변수의 수와 유형을 확인하는 함수 호출 서명 일치
    • 중복 정의 충돌
    • 컴파일 타임에 정의되지 않은 메서드 또는 속성에 액세스할 때 발생하는 제한되지 않은 참조
    • 봉인된 객체에 동적으로 속성 추가
    • 상수 변수에 쓰기
    • 고정된 속성 삭제
    • 호환되지 않는 유형을 사용하는 비교 표현식
    • 찾을 수 없는 패키지


 코드메시지설명
 1000_에 대한 참조가 모호합니다.하나의 참조가 두 개 이상의 항목을 참조하고 있습니다. 예를 들어, 다음 코드에서는 rss 및 xml 네임스페이스를 사용하고 있으며, 각 네임스페이스는 hello() 함수에 대해 서로 다른 값을 정의합니다. trace(hello()) 문은 사용할 네임스페이스를 결정할 수 없기 때문에 이 오류를 반환합니다.
private namespace rss;
private namespace xml;
    
public function ErrorExamples() {
  	use namespace rss;
   	use namespace xml;
	trace(hello());
}
    
rss function hello():String {
      	return "hola";
    }
    
    xml function hello():String {
        return "foo";
    }

참조를 구체적으로 지정하여 모호한 참조를 수정합니다. 다음 예제에서는 namespace::function 형식을 사용하여 사용할 네임스페이스를 지정합니다.

public function ErrorExamples() {
    
    trace(rss::hello());
    trace(xml::hello());
}
 1003액세스 지정자는 네임스페이스 속성과 함께 사용할 수 없습니다.액세스 지정자(예: private 또는 public)와 네임스페이스 속성을 한 정의에서 함께 사용할 수 없습니다.
 1004네임스페이스가 없거나 컴파일 타임 상수가 아닙니다.네임스페이스가 알 수 없는 네임스페이스이거나 런타임에 다른 값을 가질 수 있는 표현식입니다. 네임스페이스의 맞춤법이 맞는지 확인하고 정의를 올바르게 가져왔는지 확인합니다.
 1006super 표현식은 클래스 인스턴스 메서드 내에서만 사용할 수 있습니다. 
 1007super 문은 클래스 인스턴스 생성자 내에서만 사용할 수 있습니다.super 문은 정적 멤버 내에서 사용할 수 없습니다. super 문은 클래스 인스턴스 내에서만 사용할 수 있습니다.
 1008속성이 유효하지 않습니다. 
 1010override 속성은 클래스 속성 정의에서만 사용할 수 있습니다.override 키워드는 함수 블록 내에서 사용할 수 없습니다.
 1011virtual 속성은 클래스 속성 정의에서만 사용할 수 있습니다.클래스에 속하지 않은 속성을 선언할 때(예를 들어, 함수 블록 내에서 변수를 선언할 때) virtual 속성을 사용할 수 없습니다.
 1012static 속성은 클래스 내의 정의에서만 사용할 수 있습니다. 
 1013private 속성은 클래스 속성 정의에서만 사용할 수 있습니다. 
 1014intrinsic 속성은 더 이상 지원되지 않습니다.ActionScript 3.0에서는 intrinsic 키워드를 지원하지 않습니다.
 1016Base 클래스는 final입니다.수퍼 클래스는 final로 표시되므로 확장할 수 없습니다.
 1017기본 클래스 _의 정의를 찾을 수 없습니다. 
 1018중복 클래스 정의: _. 
 1020override로 표시된 메서드는 다른 메서드를 재정의해야 합니다. 
 1021함수 정의가 중복되었습니다.동일한 범위 내에서 동일한 식별자 이름을 가진 함수를 두 개 이상 선언할 수 없습니다.
 1022final 접근자를 재정의할 수 없습니다. 
 1023호환되지 않는 재정의입니다.override로 표시된 함수는 재정의하는 함수의 매개 변수 및 반환 유형 선언과 정확히 일치해야 합니다. 매개 변수 수 및 유형이 같아야 하며, 동일한 반환 유형을 선언해야 합니다. 선택적 매개 변수가 있는 경우, 해당 매개 변수도 일치해야 합니다. 두 함수는 동일한 액세스 지정자(public, private 등) 또는 네임스페이스 속성을 사용해야 합니다.
 1024override로 표시되지 않은 함수를 재정의합니다.이 예제에서와 같이 클래스의 메서드가 기본 클래스의 메서드를 재정의하는 경우 override 속성을 사용하여 해당 메서드를 명시적으로 선언해야 합니다.
public override function foo():void{};
 1025final 메서드를 재정의할 수 없습니다.기본 클래스에서 final로 표시된 메서드는 확장할 수 없습니다.
 1026생성자 함수는 인스턴스 메서드여야 합니다. 
 1027함수는 static이면서 override일 수 없습니다. 
 1028함수는 static이면서 virtual일 수 없습니다. 
 1029함수는 final이면서 virtual일 수 없습니다. 
 1030가변 인수 배열의 이름을 지정해야 합니다....(rest) 매개 변수 정의는 ...(rest) 이후 제공되는 모든 값이 임의의 배열로 수집됨을 지정합니다. function foo(x,...(rest)) 표현식에 따라 해당 배열의 이름을 지정해야 합니다.
 1033virtual 변수는 지원되지 않습니다. 
 1034변수는 native일 수 없습니다. 
 1035변수는 final 및 virtual일 수 없습니다. 
 1037패키지는 중첩될 수 없습니다. 
 1038break 문의 대상을 찾을 수 없습니다. 
 1039continue 문의 대상을 찾을 수 없습니다. 
 1040레이블 정의가 중복되었습니다. 
 1041속성은 호출할 수 없습니다. 
 1042this 키워드는 정적 메서드에서 사용할 수 없습니다. 이 키워드는 인스턴스 메서드, 함수 닫기 및 전역 코드에서만 사용할 수 있습니다.this 키워드에는 컨텍스트가 없으므로 정적 멤버 내에서 this 키워드를 사용할 수 없습니다.
 1043네임스페이스가 정의되지 않았습니다. 
 1044인터페이스 메서드 _(_ 네임스페이스)이(가) _ 클래스에서 구현되지 않았습니다. 
 1045_ 인터페이스를 찾을 수 없습니다. 
 1046_ 유형이 없거나 컴파일 타임 상수가 아닙니다.유형 선언으로 사용되는 클래스가 알 수 없는 클래스이거나 런타임에 다른 값을 가질 수 있는 표현식입니다. 올바른 클래스를 가져왔는지 그리고 클래스의 패키지 위치가 변경되지 않았는지 확인합니다. 그리고 코드(가져온 클래스가 아님)를 포함하는 패키지가 올바르게 정의되었는지 확인합니다. 예를 들어, ActionScript 2.0 구문이 아닌 올바른 ActionScript 3.0 패키지 구문이 사용되었는지 확인합니다.

참조되는 클래스가 사용 중인 네임스페이스에 정의되어 있지 않거나 public으로 정의되지 않은 경우에도 오류가 발생할 수 있습니다.

public class Foo{}
 1047매개 변수 이니셜라이저가 알 수 없는 이니셜라이저이거나 컴파일 타임 상수가 아닙니다.매개 변수의 기본값으로 사용된 값이 정의되지 않았거나 런타임에 다른 값을 가질 수 있는 값입니다. 이니셜라이저의 맞춤법이 올바른지 확인하고, 이니셜라이저 값이 런타임에 다른 값으로 변경될 수 있는 표현식이 아닌지 확인합니다.
 1048메서드는 생성자로 사용할 수 없습니다.클래스의 메서드 인스턴스는 만들 수 없습니다. 전역 함수만 new 표현식에 사용할 수 있습니다.
class D { function xx() { return 22; } }
var d:D = new D();
var x = new d.xx(); // 오류, 메서드를 생성자로 사용할 수 없습니다.
function yy() { this.a = 22; }
var z = new yy(); // 오류 아님, 전역 함수를 생성자로 사용할 수 있습니다.
 1049상수로 지정된 변수에 대입이 잘못되었습니다. 
 1050참조가 아닌 값에 대입할 수 없습니다. 
 1051반환값은 undefined여야 합니다.반환 유형이 void로 선언된 메서드에서 return 문을 사용하려고 합니다.
 1052상수 이니셜라이저가 알 수 없는 이니셜라이저이거나 컴파일 타임 상수가 아닙니다.상수를 초기화하는 데 사용된 값이 정의되지 않았거나 런타임에 다른 값을 가질 수 있는 값입니다. 이니셜라이저의 맞춤법이 올바른지 확인하고, 이니셜라이저 값이 런타임에 다른 값으로 변경될 수 있는 표현식이 아닌지 확인합니다.
 1053접근자 유형이 일치해야 합니다. 
 1054setter 정의의 반환 유형은 지정되지 않거나 void여야 합니다.setter 함수의 반환값은 지정할 수 없습니다. 예를 들어, 다음과 같은 경우는 유효하지 않습니다.
public function set gamma(g:Number):Number;

다음과 같은 경우는 유효합니다.

public function set gamma(g:Number):void;
 1058속성이 쓰기 전용입니다. 
 1059속성이 읽기 전용입니다.이 속성은 getter 함수를 통해 정의되었으므로 해당 속성의 값을 검색할 수 있습니다. 그러나 이 속성에 대해 정의된 setter 함수가 없으므로 이 속성은 읽기 전용입니다.

다음 예제의 경우 xx에 대해 정의된 setter 함수가 없으므로 3행에서 오류가 발생합니다.

class D { function get xx() { return 22; } }
var d:D = new D();
d.xx = 44; // 오류, 속성이 읽기 전용입니다.
 1061정의되지 않은 메서드 _을(를) 정적 유형 _이(가) 있는 참조를 통해 호출합니다.정의되지 않은 메서드를 호출하고 있습니다.
 1063_ 파일을 열 수 없습니다. 
 1064메타데이터가 유효하지 않습니다.알 수 없는 메타데이터입니다.
 1065메타데이터 속성은 두 개 이상의 요소를 가질 수 없습니다. 
 1067_ 유형의 값을 관련되지 않은 _ 유형으로 암시적으로 강제 형 변환합니다.객체를 변환할 수 없는 유형으로 형 변환하려고 합니다. 이 오류는 형 변환되는 객체의 상속 체인에 형 변환의 대상 클래스가 없는 경우에 발생할 수 있습니다. 이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생합니다.
 1068포함된 파일 _을(를) 열 수 없습니다. 
 1069구문 오류: 정의 또는 지시문이 필요합니다.해당 행의 구문을 확인합니다.
 1071구문 오류: 속성 _(_이(가) 아님) 뒤에 정의 키워드(예: 함수)가 있어야 합니다.이 오류는 제작자가 선언에서 "var" 또는 "function" 키워드를 사용하지 않은 경우에 발생합니다.
public int z;// 'public var z:int;'여야 합니다.
이 오류는 컴파일러에서 예기치 못한 문자가 발견된 경우에도 발생할 수 있습니다. 다음은 trace() 함수를 잘못 사용한 예제입니다. 올바른 구문은 trace("hello")이지만 괄호가 누락되었습니다.
import flash.utils.trace;
trace "hello"
 1072구문 오류: 네임스페이스 앞에 xml이 있어야 합니다.올바른 명령문 구문은 default xml namespace = ns입니다. 키워드 xml(소문자)이 누락되었거나 잘못된 키워드가 사용되었습니다. 자세한 내용은 default xml namespace 지시문을 참조하십시오.
 1073구문 오류: catch 또는 finally 절이 있어야 합니다. 
 1075구문 오류: 'each' 키워드는 'in' 연산자와 함께 사용해야 합니다. 
 1076구문 오류: 식별자 앞에 여는 괄호가 있어야 합니다. 
 1077CaseLabel이 있어야 합니다.switch 블록 내의 이 지점에 case 문이 있어야 합니다. 다음 switch 블록에서 첫 번째 case 문 앞에 print 호출이 잘못 포함되어 있습니다.
switch(x)
{
trace(2);
case 0:  trace(0); 
break
}
 1078레이블은 간단한 식별자여야 합니다. 
 1079super 표현식에는 피연산자 한 개가 있어야 합니다. 
 1080증가 또는 감소 연산자가 있어야 합니다. 
 1082괄호 안에 단일 표현식이 있어야 합니다. 
 1083구문 오류: _은(는) 예기치 않은 구문입니다.코드에서 일부 정보가 누락되었습니다. 다음 예제의 경우 마지막 더하기 기호 뒤에 숫자와 같은 일부 표현식이 포함되어야 합니다.
var sum:int = 1 + 2 + ;
 1084구문 오류: _이(가) _ 앞에 있어야 합니다.이 지점에 예기치 않은 표현식이 있습니다. 코드 블록에서 닫는 괄호(})가 누락된 경우 "프로그램 끝 앞에 닫는 중괄호가 있어야 합니다"라는 오류가 표시됩니다.

일부러 잘못 작성한 다음 예제와 같이 조건 표현식에서 괄호를 생략할 경우 "_ 앞에 여는 괄호가 있어야 합니다"라는 오류가 표시됩니다.

var fact:int = 1 * 2 * 3;
if fact > 2 {
	var bigger:Boolean = true;
}
 1086구문 오류: _ 앞에 세미콜론이 있어야 합니다. 
 1087구문 오류: 프로그램 끝에 추가 문자가 있습니다. 
 1093구문 오류입니다. 
 1094구문 오류: 문자열 리터럴은 행 분리 문자 앞에서 끝나야 합니다. 
 1095구문 오류: 문자열 리터럴은 행 분리 문자 앞에서 끝나야 합니다. 
 1097구문 오류: 문자열 리터럴의 닫는 따옴표에 도달하기 전에 입력이 종료되었습니다. 
 1099구문 오류입니다. 
 1100구문 오류: XML에 일치하는 begin 및 end 태그가 없습니다. 
 1102super 자손을 삭제할 수 없습니다. 
 1103네임스페이스 정의가 중복되었습니다.네임스페이스를 두 번 이상 정의했습니다. 중복된 정의를 삭제하거나 수정합니다.
 1105대입 대상은 참조 값이어야 합니다.값을 변수에 대입할 수는 있지만 다른 값에 대입할 수는 없습니다.
 1106증가의 피연산자는 참조여야 합니다.피연산자는 변수, 배열 요소 또는 객체의 속성이어야 합니다.
 1107증가 피연산자가 유효하지 않습니다.피연산자는 변수, 배열 요소 또는 객체의 속성이어야 합니다.
 1108감소 피연산자가 유효하지 않습니다.피연산자는 변수, 배열 요소 또는 객체의 속성이어야 합니다.
 1109표현식이 있어야 합니다.코드에서 표현식이 누락되었습니다. 다음 예제는 이 오류를 보여 줍니다. if 문에서 조건이 누락되었습니다.
var x = (5 > 2) ? 
trace(x)
 1110XML 태그 이름이 누락되었습니다. 
 1112이 파일에는 _이(가) 포함되어 있으므로 무한 반복이 발생할 수 있습니다.컴파일되는 소스에 포함된 파일에 무한 루프를 발생시킬 수 있는 다른 include 문이 들어 있습니다. 예를 들어, 다음과 같은 파일 a.as 및 b.as는 각 파일에서 다른 파일을 포함하려고 하기 때문에 이 오류가 발생합니다.

a.as 파일은 다음과 같이 b.as를 포함하려고 합니다.

import foo.bar.baz;
include "b.as"
trace(2);

b.as 파일은 다음과 같이 a.as를 포함하려고 합니다.

include "a.as"
 1113_에서 순환 유형 참조가 발견되었습니다.클래스가 수퍼 클래스를 확장하려고 합니다. 예를 들어, 클래스 B가 클래스 A로부터 상속한 경우 클래스 A는 클래스 B를 확장할 수 없습니다.
class a extends b { }
class b extends a { }
 1114public 속성은 패키지 내에서만 사용할 수 있습니다. 
 1115internal 속성은 패키지 내에서만 사용할 수 있습니다. 
 1116사용자 정의 네임스페이스 속성은 최상위 클래스 정의에서만 사용할 수 있습니다. 
 1118정적 유형 _을(를) 가진 값을 관련되지 않은 유형 _(으)로 암시적으로 강제 형 변환합니다.예기치 않은 유형의 값을 사용하고 있으며 이러한 값을 예상 유형으로 변환하는 암시적 강제 형 변환이 존재하지 않습니다.

하위 유형이 있어야 하는 위치에서 수퍼 유형을 사용하고 있습니다. 예를 들면 다음과 같습니다.

class A {}
var a:A = new A(); 
class B extends A { function f() }
var b : B = a // 오류

마지막 명령문에서 유형 A의 객체를 유형 B의 변수에 대입하기 때문에 오류가 발생합니다.

이와 유사하게 다음 예제에서는 유형 B의 매개 변수를 받는 foo() 함수를 정의합니다. foo(a); 문에서는 유형 A의 매개 변수를 사용하므로 오류가 발생합니다.

function foo(x:B) { }
foo(a);

또한 다음 명령문에서는 foo2()에 대해 반환되는 값이 유형 B이므로 오류가 발생합니다.

function foo2():B { return new A(); }
 1119정의되지 않은 속성 _을(를) 정적 유형 _이(가) 있는 참조를 통해 액세스합니다.지정된 객체에 존재하지 않는 속성에 액세스하려고 합니다. 예를 들어, 다음 코드에서는 int 객체에 assortment속성이 없기 때문에 이 오류가 발생합니다.
var i:int = 44;
var str:String = i.assortment;
이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생합니다.
 1120정의되지 않은 속성 _에 액세스합니다.정의되지 않은 변수에 액세스하려고 합니다. 예를 들어 변수 huh가 정의되지 않은 상태에서 이 변수를 호출하면 이 오류가 발생합니다.
huh = 55;
이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생할 수 있습니다.
 1121getter 정의에는 매개 변수가 없어야 합니다. 
 1122setter 정의에는 한 개의 매개 변수만 있어야 합니다. 
 1123setter 정의에는 선택적 매개 변수가 있을 수 없습니다. 
 1124getter 정의의 반환 유형은 void가 아니어야 합니다.getter 함수는 변수를 시뮬레이션합니다. 변수는 void 유형이 될 수 없으므로 void 유형을 반환하는 getter 함수를 선언할 수 없습니다.
 1125인터페이스에 정의된 메서드는 본문을 가질 수 없습니다. 
 1126함수에 본문이 없습니다. 
 1127_ 속성이 여러 번 지정되었습니다.동일한 명령문에서 한 속성을 두 번 이상 지정했습니다. 예를 들어 public static public var x; 문의 경우 변수 x가 public으로 두 번 지정되었기 때문에 오류가 발생합니다. 중복된 선언을 삭제합니다.
 1129중복 인터페이스 정의: _.중복된 정의를 변경하거나 삭제합니다.
 1130생성자는 반환 유형을 지정할 수 없습니다. 
 1131클래스는 중첩되면 안 됩니다. 
 1132final 속성은 클래스에 정의된 메서드에서만 사용할 수 있습니다. 
 1133native 속성은 함수 정의와만 함께 사용할 수 있습니다. 
 1134dynamic 속성은 클래스 정의와만 함께 사용할 수 있습니다. 
 1135구문 오류: _의 유형이 유효하지 않습니다. 
 1136인수의 수가 잘못되었습니다. _개여야 합니다.제공한 인수의 수가 함수에서 기대하는 인수의 수와 다릅니다. 예를 들어, 다음 코드는 인수가 두 개인 goo 함수를 정의합니다.
class A { static function goo(x:int,y:int) 
{ return(x+y); } }

다음 명령문은 인수 세 개를 제공하므로 오류가 발생합니다.

A.goo(1,2,3);
 1137인수의 수가 잘못되었습니다. _개 이하여야 합니다. 
 1138필수 매개 변수는 선택적 매개 변수 앞에 있어야 합니다. 
 1139인터페이스에서는 변수를 선언할 수 없습니다. 
 1140...rest 매개 변수 정의 키워드 뒤에 정의된 매개 변수의 데이터 유형은 Array여야 합니다. 
 1141클래스는 다른 클래스만을 확장할 수 있으며 인터페이스를 확장할 수 없습니다. 
 1142인터페이스는 다른 인터페이스만을 확장할 수 있지만 _은(는) 클래스입니다.인터페이스에서 클래스를 확장하려고 합니다. 인터페이스는 다른 인터페이스만을 확장할 수 있습니다.
 1143override 속성은 클래스에 정의된 메서드에서만 사용할 수 있습니다. 
 1144인터페이스 메서드 _(_ 네임스페이스)이(가) _ 클래스에서 호환되지 않는 서명과 함께 구현되었습니다.메서드 서명이 정확히 일치해야 합니다.
 1145기본 메서드는 본문을 가질 수 없습니다.native는 예약 키워드이므로 사용할 수 없습니다.
 1146생성자는 getter 또는 setter 메서드가 될 수 없습니다. 
 1147AS 소스 파일이 지정되지 않았습니다. 
 1149return 문은 정적 초기화 코드에서 사용할 수 없습니다. 
 1150protected 속성은 클래스 속성 정의에서만 사용할 수 있습니다. 
 1151_ 정의가 _ 네임스페이스에서 충돌합니다.모든 해당 변수를 동일한 유형으로 선언하지 않는 한 동일한 범위 내에서 동일한 식별자 이름을 가진 변수를 두 개 이상 선언할 수 없습니다. ActionScript 3.0에서는 서로 다른 코드 블록(예: 동일한 함수 정의에 있는 두 개의for 루프에 사용되는 코드 블록)을 동일한 범위에 있는 것으로 간주합니다.

다음 코드 예제에서는 변수 x가 동일한 유형으로 올바르게 형 변환됩니다.

function test()
{
	var x:int = 3;
	for(var x:int = 33; x < 55; x++)
	trace(x);
	for(var x:int = 11; x < 33; x++)
	trace(x)
}

다음 코드 예제에서는 변수 선언 및 for 루프의 형 변환이 다르기 때문에 오류가 발생합니다.

function test()
{
	var x:String = "The answer is";
	for(var x:int = 33; x < 55; x++) // 오류
	trace(x);
	for(var x:unit = 11; x < 33; x++) // 오류
	trace(x)
}
 1152상속된 _ 정의가 _ 네임스페이스에서 충돌합니다. 
 1153생성자는 public으로만 선언될 수 있습니다. 
 1154public, private, protected 또는 internal 중 하나만 정의에서 지정될 수 있습니다. 
 1155접근자는 다른 함수 내에서 중첩될 수 없습니다. 
 1156인터페이스는 새 연산자를 사용해서 인스턴스화할 수 없습니다. 
 1157인터페이스는 public, private, protected 또는 internal로 선언될 수 없습니다. 
 1158구문 오류: 함수 본문 앞에서 여는 중괄호({)가 누락되었습니다. 
 1159return 문은 패키지 초기화 코드에서 사용할 수 없습니다. 
 1160native 속성은 인터페이스 정의에서 사용할 수 없습니다.native는 예약 키워드이므로 사용할 수 없습니다.
 1162한 개의 정의에 한 개의 namespace 속성만 사용할 수 있습니다. 
 1163_ 메서드가 _ 인터페이스로부터 상속된 정의와 충돌합니다. 
 1165인터페이스 속성 _이(가) 유효하지 않습니다. 
 1166Namespace declarations are not permitted in interfaces. 
 1167_ 클래스에서 _ 인터페이스가 여러 번 구현됩니다.클래스에서 동일한 인터페이스를 두 번 이상 구현합니다. 예를 들어, 다음 코드에서는 클래스 C가 인터페이스 A를 두 번 구현하므로 이 오류가 발생합니다.
interface A {  public function f();  };
class C implements A,A {
public function f() { trace("f"); }
}

올바르게 구현된 명령문은 class C implements A {가 되어야 합니다.

 1168Illegal assignment to function _.함수를 재정의하려고 합니다. 예를 들어, 다음 코드는 "top"이라는 단어를 인쇄하는 topLevel() 함수를 정의합니다. 두 번째 명령문에서 다른 반환 값이 함수에 대입되기 때문에 오류가 발생합니다.
function topLevel() { trace("top"); }
topLevel = function() { trace("replacement works in ~");} // 오류
 1169네임스페이스 속성은 인터페이스 메서드에서 사용할 수 없습니다. 
 1170함수가 값을 반환하지 않습니다.함수에 있는 모든 제어 흐름은 반환 유형이 void가 아닌 경우 항상 값을 반환해야 합니다. 다음과 같은 함수 f(x)에서는 if..else 문이 항상 값을 반환하므로 오류가 발생하지 않습니다.
function f(x):int
{
if (x)
    	return 2;
else
    	return 3;
} // 오류 아님

그러나 아래 함수 g(x)에서는 switch 문에서 값이 반환되지 않을 수도 있으므로 오류가 발생합니다.

function g(x:int):int
{
switch(x)
{
      	case 1: return 1;
      	case 2: return 2:
}
// return 2;//주석 처리를 제거하여 오류를 없앱니다.
}

이 검사는 함수에서 void 이외의 반환 유형을 선언할 때만 사용합니다.

 1171네임스페이스 이니셜라이저는 리터럴 문자열이거나 다른 네임스페이스여야 합니다. 
 1172_ 정의를 찾을 수 없습니다. 
 1173레이블 정의가 유효하지 않습니다. 
 1176정적 유형 _와 관련되지 않는 유형 _의 값을 비교합니다.이 오류는 Strict 모드에서 발생합니다.
 1177return 문은 전역 초기화 코드에서 사용할 수 없습니다. 
 1178액세스할 수 없는 속성 _을(를) 정적 유형 _이(가) 있는 참조를 통해 액세스하려고 시도했습니다. 
 1180정의되지 않은 메서드 _을(를) 호출합니다.이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생합니다.
 1181참조를 기본 클래스 _(으)로 이동합니다. 
 1182패키지(_)는 값으로 사용할 수 없습니다. 
 1184호환되지 않는 기본값 유형(_)이며, 호환되는 유형은 _입니다. 
 1185switch 문의 기본값이 두 개 이상입니다. 기본값은 한 개만 사용할 수 있습니다. 
 1188_ 클래스에 대입이 잘못되었습니다. 
 1189고정된 속성 _을(를) 삭제하려고 시도했습니다. 동적으로 정의된 속성만 삭제할 수 있습니다.삭제를 수행하면 동적으로 정의된 속성이 객체에서 제거됩니다. 클래스의 선언된 속성은 삭제할 수 없습니다. 이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생합니다.
 1190기본 클래스가 없거나 컴파일 타임 상수가 아닙니다. 
 1191인터페이스가 없거나 컴파일 타임 상수가 아닙니다. 
 1192static 속성은 네임스페이스 정의에서 사용할 수 없습니다. 
 1193인터페이스 정의는 클래스 또는 다른 인터페이스 정의 내에서 중첩되면 안 됩니다. 
 1194프로토타입 속성이 유효하지 않습니다. 
 1195액세스할 수 없는 메서드 _을(를) 정적 유형 _이(가) 있는 참조를 통해 액세스하려고 시도했습니다.다른 클래스에서 전용 메서드를 호출하거나 사용되지 않는 네임스페이스에 정의된 메서드를 호출하고 있습니다. 사용되지 않는 네임스페이스에 정의된 메서드를 호출하는 경우에는 필수 네임스페이스에 대해 use 문을 추가합니다.
 1196구문 오류: throw 뒤에 표현식이 있어야 합니다. 
 1197두 클래스 모두 라이브러리 심볼 또는 기본 타임라인과 연관되어 있기 때문에 _ 클래스는 _을(를) 확장할 수 없습니다. 
 1198속성은 패키지 정의에서 사용할 수 없습니다. 
 1199내부 오류: _. 
 1200구문 오류: for-in 이니셜라이저가 유효하지 않습니다. 1개의 표현식만 필요합니다. 
 1201super 문은 this, super, return 또는 throw 문 뒤에 사용할 수 없습니다. 
 1202정의되지 않은 속성 _(_ 패키지)을(를) 액세스합니다.패키지에 있는 정의되지 않은 변수에 액세스하려고 합니다. 예를 들어 변수 p.huh가 정의되지 않은 상태에서 이 변수를 호출하면 이 오류가 발생합니다.
p.huh = 55;
이 오류는 컴파일러가 Strict 모드에서 실행 중일 때만 발생할 수 있습니다.
 1203기본 클래스 _에 기본 생성자가 없습니다.필수 인수가 1개 이상인 경우에는 super() 문을 사용하여 기본 클래스의 생성자를 명시적으로 호출해야 합니다.
 1204발견된 /*에 짝이 되는 */가 없습니다.주석의 시작을 나타내는 문자(/*)는 있지만 주석 블록의 끝을 나타내는 문자(*/)가 없습니다.

http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/compilerErrors.html

댓글