gpt4 book ai didi

C++:使用头文件和源文件,源文件不编译

转载 作者:行者123 更新时间:2023-11-30 03:30:45 25 4
gpt4 key购买 nike

如题我有一个包含 3(5) 个文件的程序main.cpp、Kessel.h、Kessel.cpp,其他两个不重要

我的问题:当我在 Kessel.cpp 中更改代码时,它在我编译程序时没有注册...所以我尝试通过删除“;”来犯一个明显的错误它只是说“目标是最新的。”我正在使用 Code::Blocks 顺便说一下。

标题 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()'

需要帮助请 :/

最佳答案

我通过右键单击 Code::Blocks 中的 Kessel.cpp 标题解决了这个问题

properties -> Build -> checking the "DebugWindows" under "Belongs in targets"

关于C++:使用头文件和源文件,源文件不编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44764733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com