ページ 11

staticメンバ変数の使用方法

Posted: 2009年7月04日(土) 19:56
by dic
基本的なことでつまづいてるので教えてもらえないでしょうか?
下記にあるソースをコンパイルすると

error C2040: 'public: static int * A::b' : 'int' は 'int [10]' と間接操作のレベルが異なります。

というコンパイルエラーがでます

そこで、
int[10] A::b;
としてもエラーがでるので、どうやってstaticメンバ変数の実体を定義するのでしょうか?
#include	<stdio.h>

class	A
{
public:
	static	int	a;
	static	int	b[10];
};

int	A::a = 0;
int	A::b;

int		main()
{
	printf( "%d\n", A::a );

	int	i;
	for( i=0; i<10; i++ )
		printf( "%d\n", A::b );
	return 0;
}

Re:staticメンバ変数の使用方法

Posted: 2009年7月04日(土) 20:04
by MNS
えっと、
int A::b;

int A::b[10];
ではないでしょうか?

Re:staticメンバ変数の使用方法

Posted: 2009年7月04日(土) 21:01
by dic
なるほど そっちに配列だと定義するのですね
解決しました
ありがとうございました