関数内に、下請けクラスを定義するのは合法? – プログラミング – Home

関数内に、下請けクラスを定義するのは合...
 
通知
すべてクリア

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


アメーバ
 アメーバ
(@アメーバ)
ゲスト
結合: 20年前
投稿: 4
Topic starter  

ある関数f内だけで使われる、作業用下請けクラスAがあるとします。
Aをf内で定義するというコードは、C++規格(ISO/ANSI)範囲内でしょうか?

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

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


引用未解決
トピックタグ
YuO
 YuO
(@YuO)
ゲスト
結合: 23年前
投稿: 320
 

規格範囲内です。
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.


返信引用
アメーバ
 アメーバ
(@アメーバ)
ゲスト
結合: 20年前
投稿: 4
Topic starter  

どうも有難うございました。安心しました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました