for文の中で複数の型の変数を宣言
g++3.3でコンパイル.
#include <iostream> int main() { for ({int i = 0; char c = 'a';} i < 3; i++) { std::cout << c << std::endl; } return 0; }
あれ?ブロック外からブロック内の変数が見えているような….
(7/30追記)
VC++では通らなかった.forの()の中での複文を許していないのかな?
仕様的にはどうなのか解らないけど自分で調べる気が起きない…
文が書けるのなら複文も書けて当然だと思うんだけど,まぁC++だから書けなくてもあんまり驚かないかな.
そもそも文が書けると思ってるのが間違いかもしれない.