Home > 聞いて欲しい独り言 > VC6のうざさ

VC6のうざさ

そんなに古いコンパイラを使うな!って話ですが、使わないといけないんだから仕方がない。
なにがうざいかって、C++のくせに


for (int i = 0; i < 10; i++) {
   x++;
}
for (int i = 0; i < 10; i++) {
   x++;
} 

って書けないところ。一個だけならいいんだけど、二個書くとiが再定義されたって怒られる。こっちが怒ってやりたい。そういうわけで無理矢理下記みたいにしてコンパイル通したりしてる。


{
	for (int i = 0; i < 10; i++) {
	   x++;
	}
}
{
	for (int i = 0; i < 10; i++) {
	   x++;
	}
}

{ }で囲んでおけばローカルスコープになるのでiはローカルブロック内だけで有効になり問題ないようだ。まじめにやろうとしたら、ちゃんとiを最初に定義ししておくか、_MSC_VER < 1300とかで分岐させて書くのかもしれない。めんどくさい。

以上

2008-09-22 追記: (コメントより)
C++の古い仕様らしい。
http://www.ksky.ne.jp/~seahorse/cpp/loopvar.html

Comments:2

通りすがり 08-09-21 (日) 23:09

http://www.ksky.ne.jp/~seahorse/cpp/loopvar.html

コスミー 08-09-22 (月) 8:19

VCではなくてC++の仕様だったんですね。
情報どうもありがとう。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://red-treasure.com/report/wp-trackback.php?p=255
Listed below are links to weblogs that reference
VC6のうざさ from コスミー報告書[社外秘]

Home > 聞いて欲しい独り言 > VC6のうざさ

Search
Feeds
Meta
 合計:018989
 今日:0128 昨日:0157

Return to page top