【发布时间】:2014-06-23 23:13:13
【问题描述】:
我有一个名为 SAR 的类,其中包含一个映射,其中包含我的 SARdataPoint 类型的 int 键值和对象数据值。 SARdataPoint 类型有一个函数 int getDate() 我想为地图中包含的每个对象调用它。我无法解决如何完成此任务。我想我很接近了。
class SAR
{
public:
// other attributes removed for compactness
std::map<int, SARdataPoint> data;
}; // end of class SAR
void SAR::printSAR()
{
for(auto iter = this->data.cbegin(); iter != this->data.cend(); ++iter)
{
std::cout << iter->getDate() << '\n'; //incorrect but close?
}
}
关于如何实现这一点的任何想法?
【问题讨论】:
-
下次请包括您收到的确切错误消息。
-
如果没有错误消息和尝试自己编译它的最小示例,我唯一能看到的是您尝试访问取消引用的
iter的 getDate 成员。但是iter取消引用到键值对。 IE。你必须做(*iter).second.getDate()(第一个而不是第二个是int键)。这有帮助吗? -
下次我一定会包含错误消息以及可编译的代码。谢谢。
-
另外,感谢您引导我学习含义 (*iter).whatever 和 iter->whatever