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

关于界面传递参数的问题

楼主biosheep(慢慢在CSDN中成长)2006-05-04 15:47:33 在 VC/MFC / 界面 提问

我建立了一个对话框IDD_Formview,想通过它来获取用户的参数设置,我使用了两种方法,可是都不行,不知道为什么,请大家帮忙.  
  1)我在需要参数的CPP文件中添加了"ArgcView.h",可是编译后报错:  
        :   error   C2065:   'IDD_FORMVIEW'   :   undeclared   identifier  
        :   error   C2057:   expected   constant   expression  
  2)然后我有想用全局变量的办法,便在需要参数的CPP文件中添加了如下的代码,  
        extern   int   m_LenChrom;//传递的参数  
        extern   int   m_MaxGen;  
        extern   double   m_PopCross   ;  
        extern   double   m_PopMutate;  
        extern   int   m_PopSize;  
  编译,连接时却出现了如下的问题:  
  SGA.OBJ   :   error   LNK2001:   unresolved   external   symbol   "int     m_LenChrom"   (?m_LenChrom@@3HA)  
  SGA.OBJ   :   error   LNK2001:   unresolved   external   symbol   "int     m_PopSize"   (?m_PopSize@@3HA)  
  SGA.OBJ   :   error   LNK2001:   unresolved   external   symbol   "double     m_PopCross"   (?m_PopCross@@3NA)  
  SGA.OBJ   :   error   LNK2001:   unresolved   external   symbol   "double     m_PopMutate"   (?m_PopMutate@@3NA)  
  SGA.OBJ   :   error   LNK2001:   unresolved   external   symbol   "int     m_MaxGen"   (?m_MaxGen@@3HA)  
   
  请大家给分析一下,谢谢!小弟不胜感激. 问题点数:15、回复次数:5Top

1 楼pandera(一条自在的鱼)回复于 2006-05-04 16:05:13 得分 10

extern   int   m_LenChrom;//传递的参数  
  extern   int   m_MaxGen;  
  extern   double   m_PopCross   ;  
  extern   double   m_PopMutate;  
  extern   int   m_PopSize;  
   
  在哪里定义的?Top

2 楼biosheep(慢慢在CSDN中成长)回复于 2006-05-04 16:18:08 得分 0

extern   int   m_LenChrom;//传递的参数  
  extern   int   m_MaxGen;  
  extern   double   m_PopCross   ;  
  extern   double   m_PopMutate;  
  extern   int   m_PopSize;  
   
  这些参数在ArgcView.h中定义的,如下:  
  public:  
  //{{AFX_DATA(CArgcView)  
  enum   {   IDD   =   IDD_FORMVIEW   };  
  CSpinButtonCtrl m_SpinMaxGen;  
  CSpinButtonCtrl m_SpinSize;  
  CSpinButtonCtrl m_SpinChrom;  
  int m_LenChrom;  
  int m_MaxGen;  
  double m_PopCross;  
  double m_PopMutate;  
  int m_PopSize;  
  //}}AFX_DATA  
   
  而在SGA.CPP中使用使用这些参数,也就是extern   *   *是写在SGA.CPP中的.  
   
  请pandera(一条自在的鱼)指点.谢谢!Top

3 楼lyl_rabbit(阿牛)回复于 2006-05-04 16:51:54 得分 5

包含了头文件就可以使用这些变量了  
   
  'IDD_FORMVIEW'   指的是你定义的窗口资源的ID,你查一下看看一样吧Top

4 楼biosheep(慢慢在CSDN中成长)回复于 2006-05-04 18:09:34 得分 0

TO:lyl_rabbit(lyl_rabbit)    
  我和你想得一样,可是就是当我加了头文件之后才报那个错误的:  
        :   error   C2065:   'IDD_FORMVIEW'   :   undeclared   identifier  
        :   error   C2057:   expected   constant   expression  
  不知道是为什么?  
  谢谢你!  
  Top

5 楼biosheep(慢慢在CSDN中成长)回复于 2006-05-04 19:40:26 得分 0

谢谢各位的参与,我的问题已经找到答案了,谢谢!  
  原来我少包含一个"resource.h".谢谢你们的交流!Top

相关问题

关键词

得分解答快速导航

  • 帖主:biosheep
  • pandera
  • lyl_rabbit

相关链接

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

广告也精彩

反馈

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