免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2354 | 回复: 8
打印 上一主题 下一主题

求救STL的问题,快郁闷的死了! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-14 22:31 |只看该作者 |倒序浏览
是这样的,我在functions.h中

#include <vector>
#include <list>
using namespace std;
typedef vector<string> stringList;

class Matrix
{
public:
       stringList Buses;
}


然后在functions.cpp中
#include <algorithm>
#include <string.h>
#include "functions.h"
#include <vector>
#include <list>
using namespace std;

int Matrix::ReadInFile(char *szFilePath)
{
...
stringList::iterator itend;
string temp("xx");
Busese.push_back(temp);
itend = find(Buses.begin(), Buses.end(), temp);
...
}
就因为find 这一句出来了好多错,注释掉就没错了,好郁闷啦,麻烦高手帮忙以下!

报的错:
main\functions.cpp(11) : warning C4101: 'nTo' : unreferenced local variable
c:\program files\microsoft visual studio\vc98\include\list(166) : warning C4786: 'std::reverse_bidirectional_iterator<std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_trai
ts<char>,std::allocator<char> > > >::iterator,std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::basic_string<char,std::char_traits<char>,std::allocator<char> > &,std::basic_string<char,std::char_traits<char>,std::allocator<ch
ar> > *,int>' : identifier was truncated to '255' characters in the debug information
        c:\program files\microsoft visual studio\vc98\include\list(166) : while compiling class-template member function 'std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_
traits<char>,std::allocator<char> > > >::iterator __thiscall std::list<std::basic_string<char,std::char_traits<char>,std::allocator<char> >,std::allocator<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > >::begin(void)'
等等之类的一大堆,没法查!

论坛徽章:
0
2 [报告]
发表于 2008-01-14 22:47 |只看该作者
变量Buses是什么类型的(写错了吧,应该是Busese).

论坛徽章:
0
3 [报告]
发表于 2008-01-15 10:45 |只看该作者
Buses是stringList型的,stringList 是vector<string>定义的,有个地方写错了,是Buses.push_back();
请大家帮帮忙啊!我就是找书上说的那样写的,但是却报错

论坛徽章:
0
4 [报告]
发表于 2008-01-15 12:05 |只看该作者
当然编译通不过了,哪有#include <string.h>和using namespace std一起用的?

改成#include <string>

论坛徽章:
0
5 [报告]
发表于 2008-01-15 13:08 |只看该作者
楼主包含库时可以遵循一致的原则,要么全加.h,要么全不加
如#include <iostream>
或者全部用#include <iostream.h>

论坛徽章:
0
6 [报告]
发表于 2008-01-15 13:44 |只看该作者
是不是
class Matrix
{
public:
       stringList Buses;
}
少了;
这样
class Matrix
{
public:
       stringList Buses;
};
试试?

论坛徽章:
0
7 [报告]
发表于 2008-01-15 17:56 |只看该作者
真的是头文件的问题,十分感谢楼上的各位!不过还是有些不明白为什么不能#include <string.h>因为书上说用STL的时候需要包含哪些东西,为什么会发生冲突呢?

论坛徽章:
0
8 [报告]
发表于 2008-01-16 18:01 |只看该作者
不同的编译器,存在很多差别.要靠经验来积累

论坛徽章:
0
9 [报告]
发表于 2008-01-16 22:46 |只看该作者
<string.h> 是C语言标准库的头文件,C++兼容C把它也包含了进来,里面全是处理C风格字符串的函数。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP