我有休闲课程:
class CpuUsage {
public:
CpuUsage();
virtual ~CpuUsage();
void SetCpuTotalTime(CpuCore _newVal);
CpuCore GetCpuTotalTimes();
void AddSingleCoreTime(CpuCore& newval);
private:
CpuCore total;
boost::ptr_vector<CpuCore> cpuCores;
};
和
class CpuCore {
public:
CpuCore();
CpuCore(int _coreId, long _user, long _nice, long _sysmode,
long _idle, long _iowait, long _irq, long _softirq, long _steal,
long _guest);
//all variable declarations...
}
要将 CpuCore 对象添加到 cpuCores 向量中,我应该添加一个指针吗?或者我可以正常复制该值,例如:
void CpuUsage::AddSingleCoreTime(CpuCore _newVal) {
cpuCores.push_back(_newVal);
}
使用 CpuCore *_newVal 参数,我有以下错误:
../src/usage/CpuUsage.h:42: error: 'boost::ptr_vector > CpuUsage::cpuCores' is private ../src/NodeInfoGather.cpp: 73:错误:在这种情况下
向量在这里是私有的有什么问题?
谢谢,