如标题所示 我有一个包含3(5)个文件的程序 main.cpp,Kessel.h,Kessel.cpp,其他两个都不重要
我的问题:当我在Kessel.cpp中更改代码时,在编译程序时它没有被注册...所以我尝试通过删除';'来做出明显的错误它只是说“目标是最新的。” 我正在使用Code :: Blocks btw。
Header Kessel.h:
#ifndef _KESSEL_H_
#define _KESSEL_H_
class Kessel {
private:
double KesselTemperatur;
double KesselInhalt;
int XKoord;
int YKoord;
int Breite;
int Hoehe;
char *Name;
public:
Kessel(const char *Name, int X, int Y, int B=150, int H=150, double
Inhalt=0, double Temperatur=0);
~Kessel();
void Fuellen(double T2, double V2);
};
#endif // KESSEL_H
来源Kessel.cpp:
#include "Kessel.h"
#include "WinAdapt.h"
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <sstream>
#include <iostream>
void Kessel::Fuellen(double T2, double V2){
double T1 = Kessel::KesselTemperatur;
double V1 = Kessel::KesselInhalt;
KesselTemperatur = (T1*V1+T2*V2)/(V1+V2);
KesselInhalt+=V2;
}
Kessel::Kessel(const char *Name, int X, int Y, int B=150, int H=150, double
Inhalt=0, double Temperatur=0)
: XKoord{X}, YKoord{Y}, Breite{B}, Hoehe{H}, KesselInhalt{Inhalt},
KesselTemperatur{Temperatur}
{
Kessel::Name = new( char[ strlen( Name )+1 ] );
strcpy( Kessel::Name, Name );
}
Kessel::~Kessel(){
delete []Name;
}
和main.cpp:
#include "Kessel.h"
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <cmath>
#include <ctime>
//Kessel k1("Kessel1",10,10,130,100,10,30);
//Kessel k2("Kessel2",10,200,130,130,10,70);
//Kessel k3("Kessel3",200,10,10,70);
//Kessel k4("Kessel4",400,10);
当我取消评论Kessel k1时,我收到错误:
undefined reference to 'Kessel::~Kessel()'
需要帮助:/
答案 0 :(得分:2)
我通过右键单击Code :: Blocks中的 Kessel.cpp 标题来解决问题
属性 - &gt;构建 - &gt;检查“属于目标”下的“DebugWindows”