Eiffel: Error: variable is not properly set. in make calling default_create or any parent calling/redefining default_create
Eiffel: Error: variable is not properly set. in make calling default_create or any parent calling/redefining default_create
不太确定,但这让我在创建过程的调用顺序中得到了很多次 Error: variable is not properly set.
。我发现在调用 default_create
之前创建 class 属性似乎可以解决问题。为什么呢? default_create 似乎没有在我的 make 例程中调用一些东西??!!!
尝试做一个例子,即使我认为我不能用一个简单的例子重现它...
工作
class A
feature
attr: B
make
do
create attr
default_create
end
end
错误:变量设置不正确。
class A
feature
attr: B
make
do
default_create
create attr
end
end
default_create
打了一些电话。可能会调用 Current
(直接或间接,例如,如果 Current
作为参数传递到某处)。如果此时未设置属性 attr
,则当前对象未完全初始化,在常规功能调用中使用它可能会导致对 Void 目标的调用(特别是由于多态性)。为了避免这个问题,需要在涉及 Current
.
的任何调用之前设置所有属性
不太确定,但这让我在创建过程的调用顺序中得到了很多次 Error: variable is not properly set.
。我发现在调用 default_create
之前创建 class 属性似乎可以解决问题。为什么呢? default_create 似乎没有在我的 make 例程中调用一些东西??!!!
尝试做一个例子,即使我认为我不能用一个简单的例子重现它...
工作
class A
feature
attr: B
make
do
create attr
default_create
end
end
错误:变量设置不正确。
class A
feature
attr: B
make
do
default_create
create attr
end
end
default_create
打了一些电话。可能会调用 Current
(直接或间接,例如,如果 Current
作为参数传递到某处)。如果此时未设置属性 attr
,则当前对象未完全初始化,在常规功能调用中使用它可能会导致对 Void 目标的调用(特别是由于多态性)。为了避免这个问题,需要在涉及 Current
.