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

第一次用VC就碰了头,前辈们快帮忙看看

楼主netbug2(netbug2)2003-06-01 06:37:45 在 VC/MFC / 基础类 提问

一个简单的C++程序如下。  
   
  软件环境为VC++5.0企业版和WIN98系统,其中VC++5在安装时报告磁盘空间不够用,安装DAO出错。  
   
  在grass类定义的头文件里预编译等指令都保持系统自动生成的原样。  
  ---------------grass.h--------------  
  class   grass      
  {  
  private:  
  int   height;  
  public:  
  grass(int   height);  
  virtual   ~grass();  
  int   get_height();  
   
  };  
   
  -------------grass.cpp---------------  
  #include   "iostream.h"  
  #include   "grass.h"  
   
  grass::grass(int   height=0)  
  {  
  this->height=height;  
  }  
   
  grass::~grass()  
  {  
   
  }  
   
  int   grass::get_height()  
  {  
  return   height;  
  }  
   
  void   main()  
  {  
  grass   grass1(10);  
  cout<<"grass1.height="<<grass1.get_height()<<endl;  
  }  
   
  -------------------------出现错误如下:----------------------  
  --------------------Configuration:   learningC   -   Win32   Debug--------------  
  Compiling...  
  grass.cpp  
  Linking...  
  LIBCD.lib(wincrt0.obj)   :   error   LNK2001:   unresolved   external   symbol   _WinMain@16  
  Debug/learningC.exe   :   fatal   error   LNK1120:   1   unresolved   externals  
  Error   executing   link.exe.  
   
  learningC.exe   -   2   error(s),   0   warning(s)  
   
  --------------大菜鸟问题----------------------------  
  1.   unresolved   external   symbol   _WinMain@16是怎么回事?我并没有动LIBCD.lib,也没有用_WinMain@16标号呀?  
  2.   在grass.cpp中并没有指明要连接LIBCD.lib为何系统会自动去连接?  
  3.   这个错误是我程序的错误还是系统带自的文件有错误,该如何解决?  
   
  新手上路还请各位前辈多加指点,谢谢!  
  问题点数:20、回复次数:5Top

1 楼USTCTony(Tony)回复于 2003-06-01 09:32:01 得分 10

建立空的工程时要是基于win32   console   application   的。  
  不能是win32   application的。你的错误表明你建立空的工  
  程时是基于win32   application的。重新建立一个基于win32  
  application   的空工程,然后把你的程序拷贝过去就可以了。Top

2 楼rivershan(阿门)回复于 2003-06-01 09:36:17 得分 0

哈哈Top

3 楼windnet(南风)回复于 2003-06-01 10:27:54 得分 10

如USTCTony说的一样。建立工程时要新建一个console   application   的。  
  而建立win32   application的工程时就需要一个好象在C中main()函数一样的  
  WinMain()函数。如果你要创建的是控制台应用程序就要建立console   application~!  
  我以前也遇到过这样的问题。呵呵,同情你。。。  
   
  Top

4 楼netbug2(netbug2)回复于 2003-06-02 07:21:13 得分 0

多谢各位!能否进一步告知console   application这个选项在那里选?我好像没找到。Top

5 楼netbug2(netbug2)回复于 2003-06-02 09:18:27 得分 0

当构造函数只有一个参数时在程序中给构造函数的参数赋初值(如下)好像没有实际用途。在实例化时如果grass2对象缺省初始参数,就会报错。如果定义重载无参构造函数又会报歧义错。我的看法对吗?  
  grass::grass(int   height=0)  
  {  
    this->height=height;  
  }  
   
  grass   grass1(10);   //this->height被初始化成10  
  grass   grass2;   //报错'grass'   :   no   appropriate   default   constructor   available  
  grass   grass();   //报错left   of   '.get_height'   must   have   class/struct/union   type  
   
  Top

相关问题

  • VC前辈们紧急救助!!
  • VB转学VC请前辈指点!!!
  • 关于VC数据库-向各位前辈请教
  • 我想考MCSD(VC),请前辈帮忙回答问题:
  • vc初学者的迷茫,请各位前辈指教!
  • 前辈们:请问学vc路还有多远。
  • 有没有vc实例方面的资料啊,各位前辈?
  • 请问各位前辈:ansi c++ 和stan c++ 哪个适合vc++ ?
  • 各位VC经验丰富的前辈,帮一下忙...
  • VC学习上的问题(请各位前辈帮忙)

关键词

  • vc++
  • vc
  • grass
  • height
  • get

得分解答快速导航

  • 帖主:netbug2
  • USTCTony
  • windnet

相关链接

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

广告也精彩

反馈

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