ab.com コミュニティ
https://www.activebasic.com/forum/

オーバーロードの解決方法について
https://www.activebasic.com/forum/viewtopic.php?t=1746
ページ 11

作成者:  OverTaker [ 2007年1月03日(水) 23:27 ]
記事の件名:  オーバーロードの解決方法について

現在のActiveBasicは、TypeDefにより再定義された型と、定義元の型とでは、オーバーロードの解決をすることはできません。
コード:
TypeDef newType = baseType
fx(a As baseType)
fx(a As newType)
これのオーバーロードを解決できるようにして欲しいと思っています。
もし解決できるようになれば、例えば次のような、Stringクラスに間違えてLong型を指定したときに、アクセス違反にならずに済みます。
コード:
Dim s As String
Dim v As Long
s = v 'LPSTRで解決されるので、警告すら出ない。
もしこの仕様にするのであれば、再定義した型がオーバーロードで見つからなかった場合、定義元の型で解決することもしてほしいです。逆に言えば、もし、再定義した型が見つかれば、優先的にそちらでオーバーロードを解決できるようにしてほしいということです。

特に目立ったデメリットが浮かばないので、何か見落としがあったら指摘していただきたいです。

作成者:  イグトランス [ 2007年1月03日(水) 23:49 ]
記事の件名: 

別件になりますが,ポインタ型と整数型相互の暗黙の型変換にも警告を出すようにするべきだと思います。
オプションでエラーにできても良いくらいだと思います。

ページ 11 全ての表示時間は UTC+09:00 です
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/