ページ 11

C++でprivate内での変数の扱い

Posted: 2014年8月17日(日) 04:10
by maa
private内で宣言した変数を、同じprivate内で宣言した配列の[]で使いたいのですがエラー(invalid use of non-static data member)がでます。なにかいい方法やソース書き方はないでしょうか?

private:

int num = 5;
int hoge[num][3];

現在は上記のように書いていますがエラーが発生します。
よろしくお願いします。

Re: C++でprivate内での変数の扱い

Posted: 2014年8月17日(日) 20:56
by へろりくしょん
アクセス修飾子の如何に関わらず、配列宣言に置ける要素数は定数式でなければなりません。

int num; が定数で表現可能ならば、マクロ定数を使うと幸いでしょう。
可変の場合は、動的確保することになるかと思います。