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

有谁遇到过这个error????(sundayboys)

楼主sundayboys(sunboy)2001-12-26 10:25:18 在 C++ Builder / 基础类 提问

[C++   Error]   stdlib.h(434):   E2132   Templates   and   overloaded   operators   cannot   have   C   linkage  
   
   
  已经声明了exernt   "C" 问题点数:20、回复次数:6Top

1 楼Pasp(CJY)回复于 2001-12-26 10:28:19 得分 0

exernt   "C++"   试试Top

2 楼Polarislee(北极星)(无房无车,飘在北京)回复于 2001-12-26 10:29:50 得分 0

那就不要声明extern   "C"Top

3 楼csz_cmy(PIC&C51)回复于 2001-12-26 10:32:24 得分 0

Polarislee(北极星) 对!Top

4 楼rusteel()回复于 2001-12-26 10:42:42 得分 0

感谢sundayboy!!!  
   
  to   Polarislee(北极星)   &   csz_cmy(讨厌编程):  
  我对老板的建议和你们说的一样,但我们是在改代码,如果要改,涉及的范围比较大,所以老板要我找出导致这个错误的根本原因,并要我证明给他看(最好能写一个例程,来证明的的确确是extern   "C"的原因)。  
   
  原来的代码是在VC5(没错,是VC5不是VC6)下面写的,很老,在未改动一个字的情况下在BCB5下编译,就无法通过。Top

5 楼sundayboys(sunboy)回复于 2001-12-26 12:43:32 得分 0

希望高手关注一下。Top

6 楼rusteel()回复于 2001-12-26 17:41:33 得分 20

问题我解决了,是在cber的指点下解决的,万分感谢他!!!  
   
  我写的证明程序(有两个文件)如下,如果有谁遇到和我一样的问题,也可以参考一下。(运行环境:BCB5)  
  //---------------   testExternC.cpp   ----------------/  
  #include   <conio.h>  
  #include   <iostream>  
   
  extern   "C"   {   //注释掉这一行和下面的括号,就没问题了  
  #include   "testExternC.h"  
  }                         //注释掉  
   
  using   std::cout;  
  using   std::endl;  
   
  int   main(int   argc,   char*   argv[])  
  {  
   
          float   f1   =   2.2;  
          set(f1);  
          _getch();  
          return   0;  
  }  
   
  //------------------   testExternC.h   ------------------/  
  #include   <iostream>  
   
  using   std::cout;  
  using   std::endl;  
   
  template<typename   T>  
  void   set()  
  {  
          cout   <<   "ok"   <<   endl;  
  }  
   
  template<typename   T>  
  void   set(const   T&   ff)  
  {  
          T   f   =   ff;  
          cout   <<   "f   =   "   <<   f   <<   endl;  
  }  
  //-----------------------------------------------Top

相关问题

  • 编译dvdx遇到这个问题,error C2169: '_mm_set1_epi16' : intrinsic function, cannot be defined
  • 编译dvdx遇到这个问题,error C2169: '_mm_set1_epi16' : intrinsic function, cannot be defined
  • 遇到这个怎么版?
  • ADOStoredProc好烦呀,为什么我总遇到这个问题呢?--error:无效的参数号码
  • 我也遇到了这个问题。
  • 这个错大家遇到过吗
  • 遇到这个错误没有?
  • 有谁遇到过这个问题吗?
  • 谁遇到过这个问题
  • 谁遇到过这个问题?

关键词

  • vc
  • testexternc
  • 证明
  • cout
  • 问题
  • using std
  • include
  • set

得分解答快速导航

  • 帖主:sundayboys
  • rusteel

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

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