Flash Actionscript 3不接受编译时常量

Ste*_*ger 2 flash actionscript-3

问题:我遇到了一个恼人的错误:我尝试在下面的actionscript代码中使用类型Size.但我总是得到这个错误:
1046:找不到类型或不是编译时常量:大小.
但无论我尝试什么,它似乎打破我添加
公共函数get size():大小
不知何故它不喜欢返回类型大小,但我做错了什么?

package BaseTypes
{
    public class StockData 
    {
        private var size:Size;
        public function get Size():Size
        {
            return this.size;
        }
        public function set Size(value:Size):void
        {
            this.size = value;
        }
    } // End Class
}// End Package
Run Code Online (Sandbox Code Playgroud)

我在文件夹BaseTypes中有波纹管代码,它在AS3类路径中.

package BaseTypes
{
    public class Size  
    {
        private var width:Number;
        private var height:Number;
        public function Size(width:Number, height:Number)
        {
            this.width = width;
            this.height = height;
        }
        public function get Width():Number
        {
            return this.width;
        }
        public function set Width(value:Number):void
        {
            this.width = value;
        }
        public function get Height():Number
        {
            return this.height;
        }
        public function set Height(value:Number):void
        {
            this.height = value;
        }
        public function toString():String
        {
            return "{width: " +this.width.toString()+ " height: " +this.height.toString() + "}";
        }
    } // End Class
} // End package
Run Code Online (Sandbox Code Playgroud)

Les*_*Les 5

您已将getter函数命名为与导入的类相同,我认为这是您的错误的来源.

在您的StockData类中,您有定义

public function get Size():Size
Run Code Online (Sandbox Code Playgroud)

您应该将"大小"重命名为"大小"或与您导入的类名称不同的名称.

  • 或者,您可以使用返回类型的完全限定名称,`public function get Size():BaseTypes.Size` (2认同)