M
Mike Copeland
The following code produces a compiler error (C2676) on the "find"
code line. How can I fix this? TIA
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
struct DBRECORD
{
int Bib;
int Age;
string Name;
} ;
struct DBSTRUCT
{
int bibNo;
DBRECORD dWork;
bool operator <(const DBSTRUCT &rhs) const // comparison operator
{
return bibNo < rhs.bibNo;
}
} rrr;
typedef vector<DBSTRUCT> DBVEC;
DBVEC vec;
vector<DBSTRUCT>::iterator dIter;
int main(int argc, char *argv[]) // Main Line
{
rrr.bibNo = rrr.dWork.Bib = 17, rrr.dWork.Age = 39;
rrr.dWork.Name = "George";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 13, rrr.dWork.Age = 29;
rrr.dWork.Name = "Sam";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 27, rrr.dWork.Age = 19;
rrr.dWork.Name = "David";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 47, rrr.dWork.Age = 59;
rrr.dWork.Name = "Robert";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 37, rrr.dWork.Age = 49;
rrr.dWork.Name = "Ron";
vec.push_back(rrr);
sort(vec.begin(), vec.end());
dIter = find(vec.begin(), vec.end(), 27);// <- error C2676
return 0;
}
code line. How can I fix this? TIA
#include <algorithm>
#include <iostream>
#include <vector>
using namespace std;
struct DBRECORD
{
int Bib;
int Age;
string Name;
} ;
struct DBSTRUCT
{
int bibNo;
DBRECORD dWork;
bool operator <(const DBSTRUCT &rhs) const // comparison operator
{
return bibNo < rhs.bibNo;
}
} rrr;
typedef vector<DBSTRUCT> DBVEC;
DBVEC vec;
vector<DBSTRUCT>::iterator dIter;
int main(int argc, char *argv[]) // Main Line
{
rrr.bibNo = rrr.dWork.Bib = 17, rrr.dWork.Age = 39;
rrr.dWork.Name = "George";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 13, rrr.dWork.Age = 29;
rrr.dWork.Name = "Sam";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 27, rrr.dWork.Age = 19;
rrr.dWork.Name = "David";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 47, rrr.dWork.Age = 59;
rrr.dWork.Name = "Robert";
vec.push_back(rrr);
rrr.bibNo = rrr.dWork.Bib = 37, rrr.dWork.Age = 49;
rrr.dWork.Name = "Ron";
vec.push_back(rrr);
sort(vec.begin(), vec.end());
dIter = find(vec.begin(), vec.end(), 27);// <- error C2676
return 0;
}