static変数の初期化は?

解決


ともぞう  2003-11-20 13:05:57  No: 110091  IP: [192.*.*.*]

お世話になっております。
VBをはじめて2週間ほどのものです。
static変数を使った時なのですが、数値型は自動的に0に初期化されるみたい
なのですが、意図的に初期化はできないのでしょうか?
意図的にできると便利かなと思います。
やり方がありましたら、よろしくお願いします。

編集 削除
特攻隊長まるるう  2003-11-20 18:10:02  No: 110092  IP: [192.*.*.*]

static だと…何か変わるんでしょうか???
static じゃない変数は初期化しないの?
変数に自分の決めた初期値を代入したのではダメなの?
…質問の意味が分からない(  _)_
…ともぞうさんのいう初期化って何???

編集 削除
ともぞう  2003-11-20 19:17:18  No: 110093  IP: [192.*.*.*]

C言語のstaticとは性質が全く違うのでしょうか?
関数内で
static unsigned char a = 0xff
のような感じで使用したいのですが?
見当違いでしたら、すいません。

編集 削除
ねろ  2003-11-20 20:29:01  No: 110094  IP: [192.*.*.*]

Static a as Integer = 5
と出来ます。ただしVB.NETです。
VB6以前は残念ながら出来ません。
Cから引っ越されるんでしたらVB.NET
の方がお勧めかも。

>static だと…何か変わるんでしょうか???
違うんです。
たとえばVB6でファンクションの中で初期値を
設定しようとして
Static a as Integer
a = 7 
とやると毎回初期値が設定されてしまう。
始めの一回だけ初期値を設定仕様とすると
もう一つ Static n なんてやらなければならない。
 
Static a as Integer = 7
だと始めの一回だけ初期値設定が行われ、便利です。

編集 削除
ともぞう  2003-11-20 20:46:51  No: 110095  IP: [192.*.*.*]

ねろさん、ありがとうございます。
残念ながら現在使用しているのはVB6です。
VB.NETのほうが、いろいろできるのですね。
VB.NETの使用を検討してみます。

編集 削除