CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

怎样用stl中的queue定义static变量?(在链接时出现奇怪问题)

楼主suppercom()2006-03-04 15:39:07 在 C/C++ / C++ 语言 提问

定义一个类,定义非静态queue的变量,编译、链接没问题;但若是将变量改为static   ,链接出问题,使用vc6.0。如:  
  class   CA      
  {  
  public:  
  static   queue<int>   iqueue;  
  static   void   func(){iqueue.push(6);}  
  }  
  出错:  
  Linking...  
  A.obj   :   error   LNK2001:   unresolved   external   symbol   "public:   static   class   std::queue<int,class   std::deque<int,class   std::allocator<int>   >   >   CA::iqueue"   (?iqueue@CA@@2V?$queue@HV?$deque@HV?$allocator@H@std@@@std@@@std@@A)  
  Debug/ning6.exe   :   fatal   error   LNK1120:   1   unresolved   externals  
   
  值得注意的是若去掉两个static关键字,无任何问题。  
  为什么呀? 问题点数:30、回复次数:4Top

1 楼strangerryf(白痴与白痴讨论的结果一定是比白痴更为白痴的结论)回复于 2006-03-04 15:48:20 得分 5

类中的静态变量需要在外部初始化,这个跟C#不同Top

2 楼ugg(逸学堂(exuetang.net))回复于 2006-03-04 21:39:40 得分 25

static   queue<int>   iqueue;  
  ~~~~~~~  
  在类外  
  class   CA      
  {  
  public:  
  static   queue<int>   iqueue;  
  static   void   func(){iqueue.push(6);}  
  }  
   
  //   加上这一句  
  queue<int>   CA::iqueue;Top

3 楼wzjall(风)回复于 2006-03-04 22:56:36 得分 0

恩,很基础的一个问题Top

4 楼bohlee(我心澎湃)回复于 2006-03-14 17:45:54 得分 0

markTop

相关问题

  • 关于static变量
  • 如何定义 static 变量?
  • 如何定义Static变量?
  • static 变量的问题
  • static变量的问题。
  • static变量的问题。
  • 类的static变量与函数
  • STATIC变量不用赋初值?
  • static 全局变量问题?求助!!!
  • 关于static变量的问题

关键词

  • ca
  • iqueue
  • 变量
  • queue
  • 定义
  • 问题
  • 链接
  • std
  • static

得分解答快速导航

  • 帖主:suppercom
  • strangerryf
  • ugg

相关链接

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

广告也精彩

反馈

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