2015-11-02 88 views
0

我需要帮助了解如何调用地图内部类的成员函数。地图,类,成员函数

基本上我有一个包含一个对象的地图,我试图通过我不断收到我无法处理的编译器错误来调用它的一个成员函数。 下面是我当前拥有的函数调用代码示例。

map<int, DailyReport> statContainer;  
for (auto x : statContainer) 
    { 
     if (x.first < yearAfter && x.first > year) 
     { 

      daycounter += 1; 
      fullYearHtemp += x.second.getHighTemp; 
      fullYearLtemp += x.second.getLowTemp; 
      fullYearPercip += x.second.getPercip; 
     } 
    } 

这可能吗?我是否全都错了?

编辑:getHighTemp,getLowTemp和getPercip都是类DailyReport的成员函数。当DailyReport对象位于地图内时,我需要访问这些函数。

+0

是'getHeightTemp','getLowPercent'等成员或成员函数? –

+0

抱歉,未能澄清,它们是成员函数。 – Animental

回答

1

应该是x.second.getHighTemp();(注意括号)?因为getHighTemp()是一个成员函数。

+0

哇,难以置信,我花了最后一个半小时在网上搜索,盯着它只是为了最终放弃并来到这里问我的第一个问题,因为它是一个值得明确表达的东西。啊。 – Animental

0

看起来你想打电话给那些为成员函数,所以你需要追加()他们的名字,像:

map<int, DailyReport> statContainer; 
for (auto x : statContainer) 
    { 
     if (x.first < yearAfter && x.first > year) 
     { 

      daycounter += 1; 
      fullYearHtemp += x.second.getHighTemp(); 
      fullYearLtemp += x.second.getLowTemp(); 
      fullYearPercip += x.second.getPercip(); 
     } 
    }