易码技术论坛

 找回密码
 加入易码
搜索
查看: 109526|回复: 8

C++ 无法解析的外部符号的问题

[复制链接]
发表于 2005-9-17 10:33:00 | 显示全部楼层
把源代码贴出来吧.

我一般不看出错提示,因为看不懂(汗自己一个)

ps:楼主在学数据结构?
 楼主| 发表于 2005-9-17 10:37:00 | 显示全部楼层
  1. <br>#ifndef NODE_H<br>#define NODE_H<br>#define NULL 0

  2. template<class E><br>class node{//Nodes of the list<br>public:<br> node* next;//Next node<br> E info;//This node's info<br> void* operator new(size_t);//Overlaod new to increase memory partition<br> void operator delete(void* ptr);//Overlaod delete to increase memory partition<br> node(E& e,node* next);//Constructor<br> node(){}//Constructor<br> ~node(){}//Destructor<br>private:<br> static node<E>* freelist;<br>};

  3. //Implement the functions<br>template<class E><br>node<E>::node(E& e,node* next){<br> this->info = e;<br> this->next = next;<br>}

  4. template<class E><br>node<E>* node<E>::freelist = NULL;

  5. template<class E><br>void* node<E>::operator new(size_t){<br> if (freelist == NULL) return ::new node;<br> node<E>* temp = freelist;<br> freelist = freelist->next;<br> return temp;<br>}

  6. template<class E><br>void node<E>::operator delete(void* ptr){<br> ((node<E>*)ptr)->next = freelist;<br> freelist = ((node<E>*)ptr);<br>}

  7. #endif<br>
复制代码
<br>


 楼主| 发表于 2005-9-17 10:44:00 | 显示全部楼层
帖子编辑了无数回还是那样...大家帮忙忍着看了吧
发表于 2005-9-17 11:28:00 | 显示全部楼层
晕s,上传个文本文件就OK了.

现在网吧装不了C++编译器,下次到机房再看.
发表于 2005-9-18 09:47:00 | 显示全部楼层
我把声明和实现分开来,用VC6编译了一下,没报错
 楼主| 发表于 2005-9-18 14:54:00 | 显示全部楼层
以下是引用perf在2005-9-18 9:47:00的发言:[BR]我把声明和实现分开来,用VC6编译了一下,没报错
<BR>不过一旦是模版类这样分开写就会有那种错误
发表于 2005-9-19 15:32:00 | 显示全部楼层
你的意思是3楼给出的不是模版类?
 楼主| 发表于 2005-9-19 17:50:00 | 显示全部楼层
3楼是模版类,不过走样严重,分开写编译文件没问题,不过组建的时候就会出错
 楼主| 发表于 2005-9-16 21:12:02 | 显示全部楼层 |阅读模式
我在一个H文件里面定义一个模版类,

  1. template<class T><br>class list<br>    ……<br>}<br>
复制代码
<br>里面有若干的函数,然后我在一个CPP文件里面具体实现里面的函数<br>发现在组建的时候,会出现类似<br>
  1. 无法解析的外部符号 "public: void __thiscall mylist&amp;lt;class poly&amp;gt;::append(class poly &amp;amp;)
复制代码
<br>这样的错误,但是如果是在类的定义内部实现这个函数就不会有这个错误。想问问这到底是什么错误。<br>
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-5-15 06:21 , Processed in 0.010838 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表