Opened 11 years ago

Closed 11 years ago

#183 closed タスク (fixed)

コンストラクタを関数呼び出ししたときはエラーにする

Reported by: dai Owned by: dai
Priority: 高-critical Milestone: AB5 CP6
Component: Compiler Version:
Keywords: Cc:

Description

下記のようなコードが許容されるのは望ましくない。なぜかというと、意図しない形で、基底クラスのコンストラクタが複数回呼び出されてしまうからである。

#console

Imports System

Class Test1
Public
	Sub Test1()
		Console.WriteLine( "Test1.Test1" )
	End Sub
End Class

Class Test2
	Inherits Test1
Public
	Sub Test2()
		Console.WriteLine( "Test2.Test2" )
	End Sub
	Sub Test2( a As Long )
		This.Test2()	'不正なコンストラクタ呼び出し
		Console.WriteLine( "Test2.Test2(a)" )
	End Sub
End Class

Dim test2 = New Test2( 10 )

Console.ReadLine()

Change History (3)

comment:1 Changed 11 years ago by dai

Status: newassigned

comment:2 Changed 11 years ago by dai

32bit版を[560]にて対応。64bit版は後ほど対応する。

comment:3 Changed 11 years ago by dai

Resolution: fixed
Status: assignedclosed

64bit版を[565]にて対応。

Note: See TracTickets for help on using tickets.