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

📄 subject_17790.htm

📁 一些关于vc的问答
💻 HTM
字号:
<p>
序号:17790 发表者:cmoth 发表日期:2002-10-15 16:30:04
<br>主题:使用模板出现的错误
<br>内容:我定义了如下的类:<BR>template &lt;class T&gt; <BR>class CObjectNode<BR>{<BR>};<BR><BR>template &lt;class T&gt;<BR>class CObjectList<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;CObjectNode&lt;T&gt;* cFirstObjectNode;<BR>public:<BR>&nbsp;&nbsp;&nbsp;&nbsp;CObjectNode&lt;T&gt;* InsertNewNode();<BR>};<BR><BR>以上是想做一个双向连表,函数定义如下:<BR><BR>CObjectNode&lt;T&gt;* CObjectList&lt;class T&gt;::InsertNewNode()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return cFirstObjectNode;<BR>}<BR><BR>编译后出现以下错误:<BR>error C2065: 'T' : undeclared identifier<BR>error C2556: 'class CObjectNode *__thiscall CObjectList&lt;class T&gt;::InsertNewNode(void)' : overloaded function differs only by return type from 'class CObjectNode&lt;class T&gt; *__thiscall CObjectList&lt;class T&gt;::Inser<BR>tNewNode(void)'<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E:\MyProjects\concole\concole.cpp(16) : see declaration of 'InsertNewNode'<BR>error C2371: 'InsertNewNode' : redefinition; different basic types<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;E:\MyProjects\concole\concole.cpp(16) : see declaration of 'InsertNewNode'<BR><BR>不知道是那里错了?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:iwill 回复日期:2002-10-15 16:39:17
<br>内容:template &lt;class T&gt;<BR>CObjectNode&lt;T&gt;* CObjectList&lt;class T&gt;::InsertNewNode()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return cFirstObjectNode;<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>
回复者:cmoth 回复日期:2002-10-15 16:42:06
<br>内容:各位大哥大姐把上面的几行拷到一个console工程里就可以看执行结果了,很方便的,帮帮忙啊。
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:cmoth 回复日期:2002-10-15 16:45:23
<br>内容:加上template &lt;class T&gt;后结果如下,少了一个错误:<BR><BR>error C2371: 'T' : redefinition; different basic types<BR>error C2039: 'InsertNewNode' : is not a member of 'CObjectList&lt;class T&gt;'<BR><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>
回复者:秋叶禅 回复日期:2002-10-15 16:54:33
<br>内容:template&lt;class T&gt;<BR>CObjectNode&lt;T&gt;* CObjectList&lt;T&gt;::InsertNewNode()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return cFirstObjectNode;<BR>} <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>回复者:iwill 回复日期:2002-10-15 16:57:43
<br>内容:可以写成内联,或者如下<BR>CObjectNode&lt;class T&gt;* CObjectList&lt;T&gt;::InsertNewNode()<BR>{<BR>&nbsp;&nbsp;&nbsp;&nbsp;return cFirstObjectNode;<BR>}<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>
回复者:cmoth 回复日期:2002-10-15 17:11:19
<br>内容:谢谢iwill ,照你说的修改后,在console中可以了,但再我的工程中修改编译后出现以下连接错误:<BR> error LNK2001: unresolved external symbol "public: class CObjectNode&lt;class CBmpObject&gt; * __thiscall CObjectList&lt;class CBmpObject&gt;::InsertNewNode(void)" (?InsertNewNode@?$CObjectList@VCBmpObject@@@@QAEPAV?$CObjectNode@VCBmpObject@@<BR>@@XZ)<BR>不知道可能是什么原因?<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>
回复者:徐景周 回复日期:2002-10-15 17:12:59
<br>内容:template &lt; class T &gt;<BR>T* GetSelectedGraph( NodeType nt )<BR>{<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>
回复者:iwill 回复日期:2002-10-16 08:13:39
<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>
回复者:cmoth 回复日期:2002-10-16 09:09:52
<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 + -