看过c++prime的老大看过来

xyj0323 2004-04-19 03:25:36
我在看到c++prime的这段程序后(程序如下:)
#include <string.h>
#include <iostream.h>
int mian()
{
string st=("The expense of spirit\n");
//st的长度由size()操作返回不包含终止空字符
cout<< "The size of "<< st<< " is " << st.size()<< " characters, including the newline\n";
return 0;
}
头文件是我加的,我在vc++6.0上进行编译的时候,我发现了许多的错误,不知道是怎么样搞的,我将这些
错误写在下面:(从vc++6.0中的错误信息出拷贝出)
C:\工作目录\学习编程中\cjia\cjia.cpp(5) : error C2065: 'string' : undeclared identifier
C:\工作目录\学习编程中\cjia\cjia.cpp(5) : error C2146: syntax error : missing ';' before identifier 'st'
C:\工作目录\学习编程中\cjia\cjia.cpp(5) : error C2065: 'st' : undeclared identifier
C:\工作目录\学习编程中\cjia\cjia.cpp(5) : error C2440: '=' : cannot convert from 'char [23]' to 'int'
C:\工作目录\学习编程中\cjia\cjia.cpp(7) : error C2228: left of '.size' must have class/struct/union type
我不知道怎么错了,请大家多多指点,谢谢了。
...全文
213 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
leebuilder 2004-06-30
  • 打赏
  • 举报
回复
对于string :应该这样#include <string>; using namespace std;
string st=("The expense of spirit\n");这行没有括号才对
loveyou19840806 2004-06-29
  • 打赏
  • 举报
回复
VC6.0又不是很支持STD,你用string肯定不行啦,再说在VC中最好是用.h这样的包括语句,
如果你用的是DEVC++,则完全兼容STD了
xyj0323 2004-06-29
  • 打赏
  • 举报
回复
谢谢大家的帮助!!
kinker 2004-04-21
  • 打赏
  • 举报
回复
我自己摸索刚刚解决这个问题。

很佩服自己的~~~~
xyj0323 2004-04-20
  • 打赏
  • 举报
回复
谢谢各位,我现在才知道c++中有名字空间这个概念,那个mian是我不小心写错了,以后还
请多指教。
oldjackyone 2004-04-19
  • 打赏
  • 举报
回复
#include <string.h>
#include <iostream.h>

这些头文件都是标准以前的C++头文件,在标准C++中是没有“.h”,而是一个光秃秃的文件,并没有后缀名....

标准的头文件:
#include <string>
#include <iostream>

由于C++中所有的类都在std命名空间内,所以必须有using namespace std;

using 指示符你可以参阅C++ primer中相关章节.


alongfly 2004-04-19
  • 打赏
  • 举报
回复
哦,用的是cout,iostream是标准的,不要.h
main()而不是mian()哦
wq19840731 2004-04-19
  • 打赏
  • 举报
回复
int mian() //呵呵
alongfly 2004-04-19
  • 打赏
  • 举报
回复
头文件加.h没有错,这里用到的并不是c++新标准的头文件
错误在于string要用到std
加上
using namespace std;
就行了
xiangzhengyan 2004-04-19
  • 打赏
  • 举报
回复
c++ iso推荐使用新标准,.h只是为了兼容老版本,iso表示肯定会淘汰的
xiangzhengyan 2004-04-19
  • 打赏
  • 举报
回复
c++新的标准头文件是不要.h的,没有后缀名,这是为了与其它头文件相区别,你到include目录下看看就知道了
zhouqingyuan 2004-04-19
  • 打赏
  • 举报
回复
楼主:
#include <string.h>
#include <iostream.h>
int mian()
{
string st=("The expense of spirit\n");
//st的长度由size()操作返回不包含终止空字符
cout<< "The size of "<< st<< " is " << st.size()<< " characters, including the newline\n";
return 0;
}


int mian()???//这种错误也太步应该了吧,

另外,如上面所说,把两个头文件改成标准库文件的形式

xyj0323 2004-04-19
  • 打赏
  • 举报
回复
我曾经学过c++,但名字空间是什么东西?这个我好象没有听说过,还有哪个头文件,为什么不
要后缀.h呢,我记的我用tc++1.0的时候那个头文件是需要.h的啊,请各位继续指点。谢谢了。
byyyyy 2004-04-19
  • 打赏
  • 举报
回复
#include <string>
#include <iostream>

using namespace std;

新标准
cgsw12345 2004-04-19
  • 打赏
  • 举报
回复
#include <string>
#include <iostream>
using namespace std;
int mian()
{
string st=("The expense of spirit\n");
//st的长度由size()操作返回不包含终止空字符
cout<< "The size of "<< st<< " is " << st.size()<< " characters, including the newline\n";
return 0;
}
myemailcn 2004-04-19
  • 打赏
  • 举报
回复
定义的名字空间都没有,到那里找定义去?
danielpan 2004-04-19
  • 打赏
  • 举报
回复
如楼上所说.
autoegg 2004-04-19
  • 打赏
  • 举报
回复

#include <string.h>
#include <iostream.h>

改为
#include <string>
#include <iostream>

using namespace std;
happlyman 2004-04-19
  • 打赏
  • 举报
回复
#include 〈iostream>
#include 〈string>
using namespace std;
int main()
{
string st("The expense of spirit\n");
return 0;



c++的string是一个类,这个类在一个std的名字空间里




64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧