【发布时间】:2011-07-11 07:36:22
【问题描述】:
我有一个基本的 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 行上得到“表达式必须是可修改的左值”。那么在构造函数中初始化数组对象是完全不可能的吗?我找到的唯一解决方案是在范围标识符之外定义数组。对此的任何澄清将不胜感激。
【问题讨论】:
-
为什么要定义一个空的析构函数?不用管它。
-
男人,仅用于示例目的:)