CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

为什么不能编译,帮帮我!!!!

楼主alpha_Ouyang(oyq)2002-10-03 17:07:12 在 VC/MFC / 基础类 提问

最近我在学习模板,做了一个测试程序,但是在连接出错。代码如下:  
  test2.h  
   
  template   <class   T>  
  class   test2      
  {  
  public:  
  test2();  
  virtual   ~test2();  
   
  };  
   
  test2.cpp  
  //   test2.cpp:   implementation   of   the   test2   class.  
  //  
  //////////////////////////////////////////////////////////////////////  
   
  #include   "stdafx.h"  
  #include   "test2.h"  
   
  //////////////////////////////////////////////////////////////////////  
  //   Construction/Destruction  
  //////////////////////////////////////////////////////////////////////  
  template   <class   T>  
  test2<T>::test2()  
  {  
   
  }  
  template   <class   T>  
  test2<T>::~test2()  
  {  
   
  }  
   
  testMain.cpp  
   
  #include   "test2.h"  
  void   main()  
  {  
    //   TODO:   Place   code   here.  
  test2<char>   a;  
  return   0;  
  }  
   
  compile   通过,  
  连接时,显示如下错误:  
  error   LNK2001:   unresolved   external   symbol   "public:   virtual   __thiscall   test2<char>::~test2<char>(void)"   (??1?$test2@D@@UAE@XZ)  
   
  我选的是VC++6。0中project生成向导中的“Win32   Console   Application”  
   
  是不是编译器没设置好?  
  问题点数:100、回复次数:9Top

1 楼LookSail(老得牙都掉了还在学)回复于 2002-10-03 17:11:23 得分 20

你把这个模板类的头文件加进来再看一下Top

2 楼stonespace(stonespace)回复于 2002-10-03 17:12:50 得分 40

template的成员函数的实现,应当写在h文件中。  
  Top

3 楼afc(afc)回复于 2002-10-03 17:55:18 得分 0

virtual   ~test2();去掉virtual试试  
  Top

4 楼caitou123(自向红尘取烦恼)回复于 2002-10-03 18:00:45 得分 20

楼上说的是。将.pp中的代码拷到.h放在一起,再删掉.pp文件Top

5 楼King_0119(智者无悔)回复于 2002-10-03 18:00:58 得分 0

大哥  
  模板能重载么!Top

6 楼ccaommao(草帽)回复于 2002-10-03 18:07:52 得分 0

gzTop

7 楼alpha_Ouyang(oyq)回复于 2002-10-03 21:43:30 得分 0

to:LookSail(ff)    
  照你说的做了,可以。但是为什么呢?能不能保留cpp呢,按理是应该有cpp的。Top

8 楼everandforever(Forever)回复于 2002-10-03 21:48:02 得分 20

你在CSDN上搜索“模板”,可以搜到一堆帖子,里面就有说明为什么一定要放在一起的。Top

9 楼alpha_Ouyang(oyq)回复于 2002-10-03 22:18:00 得分 0

谢谢各位,给分了Top

相关问题

  • 为什么我不能编译通过?
  • 为什么我的vc6.0不能编译?
  • 为什么我的JSP不能编译?
  • 为什么不能编译?
  • 为什么我不能编译我的servlet?
  • 为什么我的程序不能通过编译
  • 为什么我的程序编译后不能运行?
  • 我的VC预编译不能用了,为什么?
  • 为什么我用atof这个函数不能编译啊?
  • 为什么我的JAVA类可以编译,但不能运行

关键词

  • cpp
  • virtual
  • template
  • test2
  • include

得分解答快速导航

  • 帖主:alpha_Ouyang
  • LookSail
  • stonespace
  • caitou123
  • everandforever

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo