ページ 1 / 1
クラスのvector包含について
Posted: 2012年6月27日(水) 10:07
by 赤鬼
クラス内で動的配列を定義したい場合ですが
コード:
class A{
vector<int> array(100); //int 100分のメモリを確保しようとすると構文エラー(定数)が起きます
};
void main(){
vector<int> array(100); //此方は可
}
[code/]
クラスの包含の際にメモリの確保は出来ないのですか?
(つまりvecotr<int> array のように宣言だけして後でreserve()を使うしかないのですか?)
その理由も出来ればお願いします。
(クラスの定義であって実体が無いからかな、と思いますが)
よろしくお願い致します。
Re: クラスのvector包含について
Posted: 2012年6月27日(水) 10:30
by softya(ソフト屋)
codeタグをちゃんと確認して下さいね。/は前ですよ。
クラスで失敗するのは仰る通りですが、コンストラクタの初期化子を調べると幸せになれると思います。
Re: クラスのvector包含について
Posted: 2012年6月27日(水) 10:53
by 赤鬼
あ、本当だすみません。
以後気をつけます。
>>コンストラクタの初期化子を調べると幸せになれると思います。
コード:
classA{
public:
vector<int> array;
A():array(10){}
}
あー、そうか、なるほど!!
vectorはクラスですからコンストラクタを呼んでやれば良いんですね!有難う御座います!