基本的な C++ クラスがあります。ヘッダーは次のようになります。
#pragma once
class DataContainer
{
public:
DataContainer(void);
~DataContainer(void);
int* getAgeGroup(void);
int _ageGroupArray[5];
private:
int _ageIndex;
};
クラスの cpp ファイル内で、次のようにクラス コンストラクター内のデフォルト値で _ageGroupArray[5] を初期化します。
#include "DataContainer.h"
DataContainer::DataContainer(void)
{
_ageGroupArray={20,32,56,43,72};
_ageIndex=10;
}
int* DataContainer::getAgeGroup(void){
return _ageGroupArray;
}
DataContainer::~DataContainer(void)
{
}
それを行うと、_ageGroupArray行で「式は変更可能な左辺値でなければなりません」というメッセージが表示されます。コンストラクターで配列オブジェクトを初期化することは完全に不可能ですか? 私が見つけた唯一の解決策は、スコープ識別子の外で配列を定義することでした。これに関する明確化は大歓迎です。