関数内に、下請けクラスを定義するのは合法?

[戻る]
アメーバ 2005/09/19(月) 11:27:31
ある関数"f"内だけで使われる、作業用下請けクラス"A"があるとします。
"A"を"f"内で定義するというコードは、C++規格(ISO/ANSI)範囲内でしょうか?

例えば下記のようなコードです。
void f()
{
 struct A{};
 A a;
}

VC++7.1で最強警告レベルでコンパイルしたら問題なく通りました。が、MS独自の方言か
否かを知りたくて質問させて頂きました。どうか宜しくお願い致します。

YuO [E-Mail] 2005/09/19(月) 11:48:05
規格範囲内です。
ISO/IEC 14882:2003 9.8 Local class declarations
> 1 A class can be defined within a function definition; such a class is called 
a local class.

アメーバ 2005/09/19(月) 12:41:50
[[解決]]
どうも有難うございました。安心しました。

古いスレッドには追加発言できません。