Opened 16 years ago

Closed 16 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 by dai, 16 years ago

Status: newassigned

comment:2 by dai, 16 years ago

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

comment:3 by dai, 16 years ago

Resolution: fixed
Status: assignedclosed

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

Note: See TracTickets for help on using tickets.