Opened 13 years ago

#205 new バグ

参照型のグローバル変数に定義前で代入するとうまくいかない。

Reported by: イグトランス (egtra) Owned by: dai
Priority: 中-major Milestone: ABの未来のバージョン
Component: Compiler Version:
Keywords: Cc:

Description

期待どおりになる例(整数型)

#console

Sub f()
	x = 42
End Sub

f()
Dim x = 0 As Long
Print x

期待どおりになる例(Object型)

#console

Sub f()
	x = New Object
End Sub

Dim x = Nothing As Object
f()
Print ObjPtr(x) As ULONG_PTR 'アドレスらしき意味不明な値

期待どおりにならない例(Object型)

#console

Sub f()
	x = New Object
End Sub

f()
Dim x = Nothing As Object
Print ObjPtr(x) As ULONG_PTR '0

最後の例でも、2つ目と同様にアドレスが出力されると期待しましたが、そうではありませんでした(初期化子の値の0が出力されます)。

ようするにこれは、初期化をいつ行うかということが明確でないという問題と考えます。言語の仕様としてどうあるべきかを決定しないといけないと思います。

Change History (0)

Note: See TracTickets for help on using tickets.