|
typedef vector<Record*>::iterator iter;
iter StuInfoVec::findRecord(const string& pattern,int type,iter from)
{
/*功能:从记录信息中寻找一个记录
参数:pattern,欲寻找记录的指定域与pattern相等。
type,为0表示欲寻找记录的学号与pattern相等。
为1表示欲寻找记录的姓名与pattern相等。
为2表示欲寻找记录的名次与pattern相等。
from,从from开始寻找匹配的记录。
返回:若找到了则返回指向第一个匹配记录的迭代器
若找不到,则返回的迭代器等于pastEnd ()的返回值
注意:from应是可提领的迭代器。第一次调用可用first () ,
之后使用上一次findRecord()的返回值增1,直到返回pastEnd(),便可以获得所有匹配的记录*/
iter it;
iter it_end=recVec.end();
for( it=from ; it!=it_end ; it++)
{
//根据type的类型寻找与pattern相匹配的记录
switch(type)
{
case 0:
if(pattern==(*it)->number)
return it;
case 1:
if(pattern==(*it)->name)
return it;
case 2:
if(pattern==(*it)->index)
return it;
default:
cout<<"没有此项查询"<<endl;
}
}
}
syntax error : missing ';' before 'tag::id'
error C2501: 'iter' : missing storage-class or type specifiers
fatal error C1004: unexpected end of file found
相应头文件都定义了,总是出现这些错误,不知是为什么,请各位高手帮忙 |
|