列挙型のオーバーロードについて
Posted: 2006年1月28日(土) 21:38
下記のプログラムのように、
列挙型を引数にして関数を呼ぶと、
Long型のfunc関数が呼ばれます。
この事と関係あるのか分かりませんが、
列挙型をとるメソッドをオーバーライドして、
そのメソッドを呼ぼうとすると
「オーバーロードを解決できません」
というエラーになります。
AB4.20
列挙型を引数にして関数を呼ぶと、
Long型のfunc関数が呼ばれます。
コード: 全て選択
enum eTEST
eTEST_AAA = 0
eTEST_BBB
endenum
sub func(e as eTEST)
print "func enum"
endsub
sub func(n as long)
print "func long"
endsub
func(0) '"func long"
func(eTEST_AAA) '"func long"
列挙型をとるメソッドをオーバーライドして、
そのメソッドを呼ぼうとすると
「オーバーロードを解決できません」
というエラーになります。
コード: 全て選択
class CTestBase
public
sub func(e as eTEST)
print "CTestBase::func enum"
endsub
endclass
class CTest
inherits CTestBase
public
sub func(e as eTEST)
print "CTest::func enum"
endsub
endclass
dim obj as CTest
obj.func(eTEST_AAA)'オーバーロードを解決できません