0

クラス階層で:

MngLayersManager_Panelを拡張し、これはManager_Baseを拡張します...

-- Manager_Baseinit()で、メソッドを定義しました。

public class Manager_Base {
    //....

    public function init():void {
        //Do initialization here...
    }
}

-- Manager_Panelでは、メソッドをオーバーライドしませんinit()

-- MngLayersでは、メソッドをオーバーライドしますinit()

public override function init():void {
    super.init();
    //Do custom initialization here...  
}

これをコンパイルしようとすると、役に立たないコンパイル エラーが発生します。

エラー: 名前空間 public の定義 init と競合しています。

これが問題かどうかはわかりませんが、-inline をサポートするASC2.0コンパイラ(AIR SDK 3.7 から) を使用しています。

以前のコンパイラのように、単純なメソッドオーバーライドのコンパイルを実行できないように、コンパイラに何か問題がありますか?

4

1 に答える 1

0

ああ!くそー、それはASC2.0が十分に説明していないだけです!

残念ながら、葉のサブクラス (MngLayers) にオーバーライドされたメソッドが重複していました。 init()代わりに、コンパイラがその重複を指摘してくれれば助かります!

これが、同じ初心者の間違いを犯した他の誰かの助けになることを願っています! :D

于 2013-04-25T16:50:43.540 に答える