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

📄 subject_36441.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:36441 发表者:懿和 发表日期:2003-04-15 10:14:34
<br>主题:CList&lt;CString, CString&amp;&gt; m_NameList 的定义错了吗?
<br>内容:程序中定义了一个CUser类,类中有定义如下:<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;....<BR>&nbsp;&nbsp;&nbsp;&nbsp;CList&lt;CString, CString &amp;&gt; m_NameList;<BR>&nbsp;&nbsp;&nbsp;&nbsp;void GetUserNames();&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;....<BR>protected:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CRecordset *m_puserset;<BR>private:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString m_userTbName;&nbsp;&nbsp;&nbsp;&nbsp;//指定与上面m_puserset对应打开的表<BR><BR><BR>在.cpp文件中对 GetUserNames()的定义如下:<BR><BR>void CUser::GetUserNames()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CString name;<BR>&nbsp;&nbsp;&nbsp;&nbsp;POSITION p=m_NameList.GetHeadPosition();<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(p)<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;delete m_NameList.GetNext(p);<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_NameList.RemoveAll();<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_puserset-&gt;MoveFirst();<BR>&nbsp;&nbsp;&nbsp;&nbsp;while(!m_puserset-&gt;IsEOF())<BR>&nbsp;&nbsp;&nbsp;&nbsp;{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_puserset-&gt;GetFieldValue("username", name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_NameList.AddTail(name);<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;m_puserset-&gt;MoveNext();<BR>&nbsp;&nbsp;&nbsp;&nbsp;}<BR>}<BR><BR>该函数中想把记录集内的username字段的值取到m_NameList中,编译却出现问题:<BR><BR>Compiling...<BR>User.cpp<BR>d:\c++\yihe\user.h(21) : error C2143: syntax error : missing ';' before '&lt;'<BR>d:\c++\yihe\user.h(21) : error C2501: 'CList' : missing storage-class or type specifiers<BR>d:\c++\yihe\user.h(21) : error C2059: syntax error : '&lt;'<BR>d:\c++\yihe\user.h(21) : error C2238: unexpected token(s) preceding ';'<BR>D:\c++\Yihe\User.cpp(37) : error C2065: 'm_NameList' : undeclared identifier<BR>D:\c++\Yihe\User.cpp(37) : error C2228: left of '.GetHeadPosition' must have class/struct/union type<BR>D:\c++\Yihe\User.cpp(40) : error C2228: left of '.GetNext' must have class/struct/union type<BR>D:\c++\Yihe\User.cpp(42) : error C2228: left of '.RemoveAll' must have class/struct/union type<BR>D:\c++\Yihe\User.cpp(47) : error C2228: left of '.AddTail' must have class/struct/union type<BR>Error executing cl.exe.<BR><BR>问题都集中在这里,很奇怪,更奇怪的是,在写 m_NameList.AddTail(name);时,编译器也列出了各个待选择的函数成员,其中确也包含 AddTail()函数,但编译却不行。<BR>还请各位帮忙看看!
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:林建华 回复日期:2003-04-15 13:00:57
<br>内容:在stdafx.h中添加<BR>#include &lt;afxtempl.h&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>
回复者:懿和 回复日期:2003-04-16 18:59:38
<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 + -