⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_28974.htm

📁 vc
💻 HTM
字号:
<p>
序号:28974 发表者:天花乱坠 发表日期:2003-01-27 09:51:46
<br>主题:c++ primer上的一个小例子出错
<br>内容:<BR>#include &lt;iostream&gt;//这里我改成iostream.h可以减少几个错误<BR>#include &lt;string&gt;//这里改成.h还是不认string???<BR>int main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;string word;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(cin &gt;&gt; word)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"word read is:"&lt;&lt;word &lt;&lt; '\n';<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "ok:no more words to read:bye!\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR><BR>--------------------Configuration: page30 - Win32 Debug--------------------<BR>Compiling...<BR>page30.cpp<BR>e:\cppprimer\page30.cpp(5) : error C2065: 'string' : undeclared identifier<BR>e:\cppprimer\page30.cpp(5) : error C2146: syntax error : missing ';' before identifier 'word'<BR>e:\cppprimer\page30.cpp(5) : error C2065: 'word' : undeclared identifier<BR>Error executing cl.exe.<BR><BR>page30.obj - 3 error(s), 0 warning(s)<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:Ryan Liu 回复日期:2003-01-27 10:07:45
<br>内容:好像是String,开头字母要大写。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天花乱坠 回复日期:2003-01-27 10:28:05
<br>内容:还是不行:(
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:tjhe 回复日期:2003-01-27 10:53:40
<br>内容:#include &lt;iostream&gt;//这里我改成iostream.h可以减少几个错误<BR>#include &lt;string&gt;//这里改成.h还是不认string???<BR><BR>using namespace std;&nbsp;&nbsp; //加上这句试试
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:天花乱坠 回复日期:2003-01-27 11:06:28
<br>内容:正确的写法应该是:<BR><BR>#include &lt;iostream&gt;<BR>#include &lt;string&gt;<BR>using namespace std;&nbsp;&nbsp; <BR>int main()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;string word;<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(cin&gt;&gt;word)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cout&lt;&lt;"word read is:"&lt;&lt;word &lt;&lt; '\n';<BR>&nbsp;&nbsp;&nbsp;&nbsp;cout &lt;&lt; "ok:no more words to read:bye!\n";<BR>&nbsp;&nbsp;&nbsp;&nbsp;return 0;<BR>}<BR><BR>不过有点不明白为何不是用iostream.h和string.h???<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:阿平 回复日期:2003-01-27 11:08:29
<br>内容:早知道了,这样的错在书上是很常见的。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:tjhe 回复日期:2003-01-27 14:19:21
<br>内容:可以打开iostream与string看看,如果不使用using namespace std; string中定义的类将无法使用。<BR><BR>ANSI/ISO草案标准支持的新式头文件,大多数新式头文件不再使用扩展名.h:<BR><BR>旧式头文件&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 对应的新式头文件<BR>&lt;assert.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;cassert&gt;<BR>&lt;ctype.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;cctype&gt;<BR>&lt;float.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;cfloat&gt;<BR>&lt;limits.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;climits&gt;<BR>&lt;math.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;cmath&gt;<BR>&lt;stdio.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;cstdio&gt;<BR>&lt;stdlib.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;cstdlib&gt;<BR>&lt;string.h&gt;包含c语言字符串函数,&nbsp;&nbsp;&lt;cstring&gt;<BR>&lt;time.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;ctime&gt;<BR>&lt;iostream.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;iostream&gt;<BR>&lt;iomanip.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;iomainip&gt;<BR>&lt;fstream.h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;fstream&gt;<BR><BR>新式头文件:<BR>&lt;utility&gt;<BR>&lt;vector&gt; &lt;list&gt; &lt;deque&gt; &lt;queue&gt; &lt;stack&gt; &lt;map&gt; &lt;set&gt; &lt;bitset&gt;包含标准库容器的类<BR>&lt;functional&gt; 包含标准库算法的类和函数<BR>&lt;memory&gt;<BR>&lt;iterator&gt;<BR>&lt;algorithm&gt;<BR>&lt;exception&gt;<BR>&lt;stdexcept&gt;<BR>&lt;string&gt;&nbsp;&nbsp;包含标准库中string类的定义<BR>&lt;sstream&gt;<BR>&lt;locale&gt;<BR>&lt;limits&gt;<BR>&lt;typeinfo&gt;
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:Edition 回复日期:2003-01-27 21:12:20
<br>内容:一个名字空间的问题 当然用using namespace std; 是个不错的办法,<BR>不过更好的是用std::cout 替代cout.
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:leochendp 回复日期:2003-01-28 17:41:20
<br>内容:.h这应该是C++标准出来前的程序写法啦,标准后的有很多不同(包括程序的执行结果),在VC下两种方法都可以,不过不加.h的要在后面:using namespace std; 一般来说向标准靠比较好吧!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:张谵 回复日期:2003-01-29 09:41:33
<br>内容:这个问题确实是名字空间带来的<BR>不过如果使用using namespace std;的话<BR>全局名字空间污染问题又回来了,建议使用std::cout<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -