引用:
> 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型にキャストしたもの」を加算した結果を代入する
コンパイラが認識できる筈がないですね(笑