CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
英特尔®游戏设计大赛100美元现金周周送 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  工具平台和程序库

关于模板。。。。 大家抢分啊

楼主lao_shan(老山)2003-12-04 12:30:38 在 C/C++ / 工具平台和程序库 提问

template<class   T1>  
  class   A  
  {  
  }  
   
  template<class   T2>  
  class   B  
  {  
  }  
   
  template<class   T3>  
  class   C  
  {  
          B<A<T1>>   student;//B类的参数是类A,而A也是一个模板函数,能这样定义吗?    
                                            //如何实现?  
          ......  
  }  
   
  问题点数:100、回复次数:5Top

1 楼Wolf0403(废人:独活十年~心如刀割)回复于 2003-12-04 12:36:15 得分 10

如果   T1   是个非模板类型那么就可以。Top

2 楼MadLee(风里麦笛)回复于 2003-12-04 12:40:47 得分 90

template<class   T3,   class   T1>  
  class   C  
  {  
          B<   A<T1>   >   student;  
          ......  
  }  
  Top

3 楼lao_shan(老山)回复于 2003-12-04 12:44:16 得分 0

#include<iostream.h>  
   
  template<class   T1>  
  class   A  
  {  
  };  
   
  template<class   T2>  
  class   B  
  {  
  };  
  template<class   T3>  
  class   C  
  {  
  private:  
  B<A<int>>   a;  
  };  
   
  void   main()  
  {  
  }  
   
  在vc++6.0   中,编译的结果是:  
  Cpp1.cpp  
  F:\Work\新建文件夹   (2)\Cpp1.cpp(16)   :   error   C2146:   syntax   error   :   missing   ','   before   identifier   'a'  
                  F:\Work\新建文件夹   (2)\Cpp1.cpp(17)   :   see   reference   to   class   template   instantiation   'C<T3>'   being   compiled  
  F:\Work\新建文件夹   (2)\Cpp1.cpp(16)   :   error   C2065:   'a'   :   undeclared   identifier  
                  F:\Work\新建文件夹   (2)\Cpp1.cpp(17)   :   see   reference   to   class   template   instantiation   'C<T3>'   being   compiled  
  F:\Work\新建文件夹   (2)\Cpp1.cpp(16)   :   error   C2143:   syntax   error   :   missing   '>'   before   ';'  
                  F:\Work\新建文件夹   (2)\Cpp1.cpp(17)   :   see   reference   to   class   template   instantiation   'C<T3>'   being   compiled  
  F:\Work\新建文件夹   (2)\Cpp1.cpp(16)   :   error   C2208:   'class   B'   :   no   members   defined   using   this   type  
                  F:\Work\新建文件夹   (2)\Cpp1.cpp(17)   :   see   reference   to   class   template   instantiation   'C<T3>'   being   compiled  
  Error   executing   cl.exe.  
   
  Cpp1.exe   -   4   error(s),   0   warning(s)  
  Top

4 楼lao_shan(老山)回复于 2003-12-04 12:48:46 得分 0

可以了。多谢。  
  原来是错在   B<A<int>>   a;  
  正确的是       B<   A<int>   >   a;    
   
  多谢!!!有的空格是不可忽略的。Top

5 楼leyt(思维机器)回复于 2003-12-04 12:50:39 得分 0

同意   接分~~~~~~~~Top

相关问题

  • 寻找文档模板,来者有分!
  • 100分请教C++模板问题
  • 哪有需求分析的模板?急!!!
  • 模板列问题 在线等给分
  • Repeater控件-模板的问题。50分
  • 100分:求datagrid模板列问题!!!
  • 100分求datagrid模板列问题!!!
  • 关于模板: 动态分配模板,Debug可以编译,Release下提示莫名其妙的错误!
  • 大量的分数给:求打印模板方案?
  • 小case,快来赚点分 (模板函数问题)

关键词

  • 文件夹
  • cpp
  • template
  • 新建文件夹
  • instantiation
  • work
  • see reference
  • error
  • being compiledf

得分解答快速导航

  • 帖主:lao_shan
  • Wolf0403
  • MadLee

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

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