2011-08-04 14 views

答えて

5

ローカルクラスは、C++で静的データメンバーを持つことはできません。

は、標準(段落9.8.4)あなたが知っていない可能性は低い場合には

A local class shall not have static data members.

を引用すると、ローカルクラスは、関数のスコープで定義されたクラス、構造体、または共用です。

9.8.1

A class can be defined within a function definition; such a class is called a local class.

+0

はい、でも何Cについては? –

+1

@Shashi Bhushan:Cは静的データメンバーをサポートしていません。 –

+1

@Shashi: 'main()'の宣言がCでないため、あなたの質問からCタグを削除しました。 –

-1

staticストレージクラスなので、適切typedefには適用されません。それはregisterconstと同じ行に沿っています。

staticが働いても、wはどのように静的で、pは静的ではありませんか?

しかしこれは動作します:

int main() 
{ 
    typedef struct a 
    { 
     int w; 
     char *p; 
    } a; 
    static a a0; 
} 
関連する問題