関数のオーバーロードについて

返信する


答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。

BBCode: ON
[img]: ON
[url]: ON
スマイリー: OFF

トピックのレビュー
   

展開ビュー トピックのレビュー: 関数のオーバーロードについて

by ゲスト » 2006年6月20日(火) 23:02

ありがとうございました

abc(MakeStr("aaaaa"))

でうまくいきました

by konisi » 2006年6月20日(火) 22:43

多分、"aaaaa"で渡すとString型ではなくByteptr型(ポインタ)として渡されるので、オーバーロードが解決できない物かと思います。(改善してほしいところですね。)

abc(MakeStr("aaaaa"))
とすればちゃんと行くかと思います。

by ゲスト » 2006年6月20日(火) 22:33

申し訳ありません
エラーだけではわかりませんよね
以下のスクリプトが該当すると思われる関数です

Function abc() As Long
:
:
End Function

Function abc(a As String) As Long
:
:
End Function

abc() はOKですが
abc("aaaaa") が駄目でした

さっき試してたら

Dim buf As String

buf="aaaaa"
abc(buf)

ではOKになりました

なぜ "aaaaa" を直接渡すのが駄目なのでしょう?

by konisi » 2006年6月20日(火) 21:48

どのような状態でオーバーロードが解決出来なくなっているのかがわかりにくいので、少なくとも46行目と、同じ名前で定義してある行について見せてくれませんか?

関数のオーバーロードについて

by ゲスト » 2006年6月20日(火) 09:04

お世話になります。

バージョンアップ履歴を見ていたら
v4.20.00 で ・関数及びメソッドのオーバーロードに対応。
v4.21.00 で ・コンストラクタのオーバーロードに対応。
とありましたが、どの程度の対応なのでしょうか?

MainWnd.sbp(46) - "abc" オーバーロードを解決できません
とエラーが出てしまうのですが...

ActiveBasicはv4.24.00を使用しました。

ページトップ