很简单的一个程序,vc6.0 build不过去

argue2000 2006-11-23 11:40:34

#include <iostream>
#include <math.h>
using namespace std;


class box{

private:
int length, heigth,weigth;
int volum;


public:
box( int x, int y, int z);
~box();

int vol ( )
{
volum= length*heigth*weigth;
cout<<"vol is"<<volum<<endl;
return 0;
}
};

box::box(int x,int y, int z)
{
length =x;
heigth =y;
weigth =z;
}

main()
{
box a(10,20,5);
a.vol();
return 0;

}
===========================================

--------------------Configuration: p_89 - Win32 Debug--------------------
Linking...
exercise.obj : error LNK2001: unresolved external symbol "public: __thiscall box::~box(void)" (??1box@@QAE@XZ)
LIBCD.lib(wincrt0.obj) : error LNK2001: unresolved external symbol _WinMain@16
Debug/p_89.exe : fatal error LNK1120: 2 unresolved externals
Error executing link.exe.

p_89.exe - 3 error(s), 0 warning(s)
...全文
175 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
msgsnd 2006-11-24
  • 打赏
  • 举报
回复
主要就是析勾函数没有定义
#include <iostream.h>
#include <math.h>
//using namespace std;


class box{

private:
int length, heigth,weigth;
int volum;


public:
box( int x, int y, int z);
~box(){};

int vol ( )
{
volum= length*heigth*weigth;
cout<<"vol is"<<volum<<endl;
return 0;
}
};

box::box(int x,int y, int z)
{
length =x;
heigth =y;
weigth =z;
}

int main()
{
box a(10,20,5);
a.vol();
return 0;
}
KthTes 2006-11-24
  • 打赏
  • 举报
回复
构造方法和析构方法必须成对出现。

另外,建议用#include <cmath>代替#include <math.h>

还有,类名首字母要大写。一般可以考虑把构造方法和析构方法写到类大括号里面,把函数写到类大括号外面,楼主似乎恰恰相反,不知为何。
hurryboylqs 2006-11-24
  • 打赏
  • 举报
回复
晕,工程类型都建立错了
flying2309 2006-11-24
  • 打赏
  • 举报
回复
public:
box( int x, int y, int z);
~box();//{}漏了
CppPower 2006-11-23
  • 打赏
  • 举报
回复
加上#include "stdafx.h"

box::~box()
{
}

65,184

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧