VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 873|回复: 8

大家帮忙看看这段程序怎么错了,急啊

[复制链接]

2

主题

7

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-2-14 10:00:01 | 显示全部楼层 |阅读模式
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
相应头文件都定义了,总是出现这些错误,不知是为什么,请各位高手帮忙
回复

使用道具 举报

0

主题

37

帖子

28.00

积分

新手上路

Rank: 1

积分
28.00
发表于 2020-4-14 11:45:01 | 显示全部楼层
看看是不是多括号少括号什么的,再就是类定义后面有没加分号
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-14 21:00:02 | 显示全部楼层
default没有return
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-14 23:15:01 | 显示全部楼层
对不起,应该是如果都是default,则没有return
回复

使用道具 举报

0

主题

49

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-4-15 01:45:01 | 显示全部楼层
若找不到,则返回的迭代器等于pastEnd ()的返回值
-------------------------------------------------
哈哈,是没有看到所说的这个返回值
回复

使用道具 举报

0

主题

24

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-15 15:45:01 | 显示全部楼层
iter it;
iter it_end=recVec.end();
不知道你有没有重载赋值...
回复

使用道具 举报

0

主题

24

帖子

9.00

积分

新手上路

Rank: 1

积分
9.00
发表于 2020-4-15 16:15:02 | 显示全部楼层
那个tag::id是怎么回事
回复

使用道具 举报

2

主题

7

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-18 10:45:01 | 显示全部楼层
tag::id这个我也不知道是怎么回事,我也没有定义什么id
回复

使用道具 举报

2

主题

7

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
 楼主| 发表于 2020-4-18 15:30:02 | 显示全部楼层
但是如果把这个函数注释掉,就没有错了,所以肯定是错出在这了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表