- 917 名前:デフォルトの名無しさん mailto:sage [2010/03/27(土) 23:45:49 ]
- 失礼します。
C++を勉強中の初心者です。 ポインタを関数の戻り値する場合は関数内の宣言にstaticをつけなければならないという記述をよく目にするのですが、 以下のようにstaticをつけずにHoge hを宣言しても問題なくプログラムが動き、5が出力されます。どういうことなのでしょうか。 typedef struct{ int k; } Hoge; Hoge* func(int a) { Hoge h; h.k = a; return &h; } int main() { Hoge* h = func(5); cout << h->k; }
|

|