DIM宣言で

ActiveBasicのバグと思われる不具合を発見された方は、こちらから知らせていただけると助かります。
返信する
メッセージ
作成者
種市 ヒデト
記事: 2
登録日時: 2006年9月06日(水) 23:00
お住まい: 東京

DIM宣言で

#1 投稿記事 by 種市 ヒデト »

変数asに対して

dim as as long

という書き方はできないのでしょうか?
AB5CP3+WinXPSP2でコンパイルできません。
hira
記事: 203
登録日時: 2005年5月31日(火) 20:14
お住まい: 兵庫県
連絡する:

Re: DIM宣言で

#2 投稿記事 by hira »

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

※同類のものにNextやLoopなどがありますが、こちらは実は使えるようです(何故?)。
NoWest
記事: 264
登録日時: 2005年5月31日(火) 10:52
お住まい: 高知
連絡する:

Re: DIM宣言で

#3 投稿記事 by NoWest »

> 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型にキャストしたもの」を加算した結果を代入する
コンパイラが認識できる筈がないですね(笑
種市 ヒデト
記事: 2
登録日時: 2006年9月06日(水) 23:00
お住まい: 東京

Re: DIM宣言で

#4 投稿記事 by 種市 ヒデト »

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