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

DIM宣言で
https://www.activebasic.com/forum/viewtopic.php?t=1620
ページ 11

作成者:  種市 ヒデト [ 2006年10月13日(金) 20:13 ]
記事の件名:  DIM宣言で

変数asに対して

dim as as long

という書き方はできないのでしょうか?
AB5CP3+WinXPSP2でコンパイルできません。

作成者:  hira [ 2006年10月13日(金) 21:56 ]
記事の件名:  Re: DIM宣言で

asという単語が予約されているため、asという名前の変数は定義できないかと思います(大文字でも同様)。
他の変数名にしてみてください(どうしてもasという言葉を使いたい場合は、_as のようにアンダーバーを付けるとよいかと)。

※同類のものにNextやLoopなどがありますが、こちらは実は使えるようです(何故?)。

作成者:  NoWest [ 2006年10月14日(土) 13:27 ]
記事の件名:  Re: DIM宣言で

引用:
> asという単語が予約されているため、asという名前の変数は定義できないかと思います(大文字でも同様)。
> 他の変数名にしてみてください(どうしてもasという言葉を使いたい場合は、_as のようにアンダーバーを付けるとよいかと)。
>
> ※同類のものにNextやLoopなどがありますが、こちらは実は使えるようです(何故?)。
横からちょこっと補足しますと、
Asがキャスト用の演算子として登録されているからです。

NextやLoopなんぞの命令はオーバーロードで解決できるように
してあると思いますが、Asは演算子なのでオーバーロードできないんでしょう。
コード:
Dim as As Long
as = (as As Byte)+as
上のプログラムはこんなことになってます。
コード:
Dim キャスト演算子 As Long
'「キャスト演算子」をLongとして定義する

as = (as As Byte)+as
'「キャスト演算子」に「キャスト演算子」と「キャスト演算子をByte型にキャストしたもの」を加算した結果を代入する
コンパイラが認識できる筈がないですね(笑

作成者:  種市 ヒデト [ 2006年10月15日(日) 17:45 ]
記事の件名:  Re: DIM宣言で

hira様,NoWest様
ご回答ありがとうございます。
参考になりました。

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