表达式map / set iterator not dereferencable

时间:2014-01-03 14:49:00

标签: c++ iterator

我正在尝试从我创建的自定义类中创建一个迭代器,以便我可以看到在类的向量内部是否已经有一个“tagName”,它位于结构PLC内部:

vector<plcClass>::iterator plcIndex = find_plcClass(_plcList->begin(), _plcList->end(), "tagName");

        // TEMPLATE FUNCTION find
        template<class InputIterator, class T>
             InputIterator find_plcClass (InputIterator first, InputIterator last, const T& val)
        {
          while (first!=last) {
            if ( (*first).PLC.tagName == val) return first;
            ++first;
          }
          return last;
        }

班级是:

    #ifndef PLC_H
#define PLC_H

#include "Pyramid.h"

class plcClass
{
public:

    // structures

    struct parent_t{
        string tagName;
        string rack;
        string slot;
        vector<string> address;
        vector<string> term;
        vector<string> termDesc;
        vector<string> descA;
        vector<string> descB;
        vector<string> descC;
    }PLC;

    // constructors
    plcClass();
    //parent found first
    plcClass( string , string , string , string, string , string , string );
    // de-constructor
    ~plcClass();

};

#endif

我让这个工作用于另一个班级但是在进入find_plcClass

时似乎崩溃了

0 个答案:

没有答案