"' - >'的基本操作数具有非指针类型"但它是指针

时间:2017-12-13 12:31:50

标签: c++ templates inheritance stl std-pair

这是我的代码。(我对此进行了简化,通常会有很多成员函数,但错误仍然相同,所以我简化了它。)

template <class K,class V>
class MyMap:public MySet<pair<K, V> >{};

int main(void){

    MyMap<int,int> map1;

    MyMap<int,int>::MyIterator it;

    it=map1.begin();

    cout<<it->first<<endl;

    return 0;
}

1 个答案:

答案 0 :(得分:6)

您需要向->类提供MyIterator运算符,如下所示:

T *operator->() {
    return data;
}