Dev C++提示Error:“undefined reference to ……”

zixiu2008 2004-02-01 10:03:27
当我用Dev C++编译一个源文件时就会提示这句话,
其中“……”是我在头文件中定义的类的构造函数等,格式一般是这样的:
ClassNmae::ClassName(argument1, argument2, argument3, ……)
如果只是一个.cpp文件,就是不含.h文件的程序,都可以编译成功。
怎么解决啊?
...全文
1780 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
mwaterfall 2004-02-02
  • 打赏
  • 举报
回复
你把Boss.h和boss.cpp都加入到工程中去,试验一下
zixiu2008 2004-02-02
  • 打赏
  • 举报
回复
怎么弄都不对,再说,Dev C++不支持分离编译模式?不会吧?
zixiu2008 2004-02-02
  • 打赏
  • 举报
回复
如果用VC的话,一切正常。
jamessweet(jamessweet)给出的在Dev C++中的解决办法我没看明白,能否说得仔细一点。
拜托了。


  • 打赏
  • 举报
回复
C# 的构造函数不需要给出形参吗?只要说明类型。我对c#不了解。标准c++是要的。
jamessweet 2004-02-02
  • 打赏
  • 举报
回复
你的文件应该没有问题的.若你装有VC++可以试着用VC++编译一下,把所有的cpp文件拖到窗口内,先编译主程主程序文件,然后编译其余的cpp文件,最后连接生成.exe
jamessweet 2004-02-02
  • 打赏
  • 举报
回复
这个我遇见过,解决的办法是创建一个新的工程,把你的boss.cpp加到工程里面去.然后再分别编译两个文件.
在VC++中不会有这种情况...
zixiu2008 2004-02-02
  • 打赏
  • 举报
回复
// BOSS.H
// Boss class derived from Employee
#ifndef BOSS_H
#define BOSS_H
#include "employ.h"

class Boss : public Employee {
public:
Boss( const char * const, const char * const, int, int, int,
double = 0.0, int = 0 );
void setWeeklySalary( double );
virtual double earnings() const;
virtual void print() const;
private:
double weeklySalary;
};

#endif
dosig 2004-02-02
  • 打赏
  • 举报
回复
最好给出Boss.h的源代码看一下
inline 2004-02-01
  • 打赏
  • 举报
回复
先编译类实现所在的文本文件生成 .obj 后再连接!或者你的编译器不支持分离编译模式!
BluntBlade 2004-02-01
  • 打赏
  • 举报
回复
奇怪……
zixiu2008 2004-02-01
  • 打赏
  • 举报
回复
// Exercise 10.14 solution
// Driver for Employee hierarchy
#include <iostream.h>
#include <iomanip.h>
#include <time.h>
#include <stdlib.h>
#include "employ.h"
#include "boss.h"
#include "commis.h"
#include "piece.h"
#include "hourly.h"

int determineMonth();

int main()
{
Boss b( "John", "Smith", 6, 15, 1944, 800.00, 1 );
CommissionWorker c( "Sue", "Jones", 9, 8, 1954, 200.0, 3.0, 150, 1 );
PieceWorker p( "Bob", "Lewis", 3, 2, 1965, 2.5, 200, 1 );
HourlyWorker h( "Karen", "Price", 12, 29, 1960, 13.75, 40, 1 );

Employee *ptr[ 4 ] = { &b, &c, &p, &h };
……

就会有这样的错误:

[Linker error] undefined reference to `Boss::Boss(char const *, char const *, int, int, int, double, int)'
等等。
BluntBlade 2004-02-01
  • 打赏
  • 举报
回复
给出代码段啊。

65,186

社区成员

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

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