我正在尝试从我创建的自定义类中创建一个迭代器,以便我可以看到在类的向量内部是否已经有一个“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
时似乎崩溃了