Opened 12 years ago

Last modified 12 years ago

#174 assigned バグ

関数ポインタを呼び出そうとするとコンパイルエラー

Reported by: dai Owned by: dai
Priority: 最優先-blocker Milestone: AB5 CP6
Component: Compiler Version:
Keywords: Cc:

Description

Sub MySub1(arg As String)
End Sub

Dim lpSub  = AddressOf(MySub1)
lpSub("hello")
Sub MySub1(arg As String)
End Sub

Sub MySub1(arg As Double)
End Sub

Dim lpSub  = AddressOf(MySub1)
lpSub("hello")
lpSub(1.4)

これらのコードをコンパイルすると、「文法が間違っています。」エラーになってしまう。

Change History (3)

comment:1 Changed 12 years ago by dai

Status: newassigned
Type: タスクバグ(原因未調査)

comment:2 Changed 12 years ago by dai

関連チケット:#173
こちらと原因は一緒。

comment:3 in reply to:  2 Changed 12 years ago by konisi

dai への返信
2つ目について、関数ポインタは今まで関数と同じように使えたので 関数ポインタから呼び出したときにもオーバーロードの解決はできるほうがいいと思うのですが、これは可能でしょうか?

#オーバーロードに対応したAddressOf関数を作るにしても、それはおそらくABからしか実行できないのでそんな関数ポインタをいつ使うのか不思議な気はしますが。

Note: See TracTickets for help on using tickets.