오류 일치 기능 : 호출에 대한 매칭 기능 "cargaison :: cargaison()는"문제가 어디에서 오는지 t 알고 돈! 내가이 CPP 파일 (societe.cpp)를 HPP를 사용하여 파일 이름 societe.cpp을 creat에하고 싶지만는 HPP 파일의 생성자를 찾을 수 없습니다 compilator처럼 보이지만 제대로 선언 된 것, 사람은 도움을 주시기 바랍니다!오류 : 호출이 cargaison 할 :: cargaison()
헤더 파일 :
#include<iostream>
#include"cargaison.hpp"
using namespace std;
class societe{
private:
cargaison carg[100];
int tailleMaxs ;
int static tailleTabs ;
public:
societe(int tmax);
societe(float pods,float vol,int num, int tmaxs);
~societe();
void affich_societe();
cargaison getcargaison(int i);
void setcargaison(int i, cargaison a);
void ajout_cargaison(float pods,float vol,int num,int ref, float dist, bool b);
void supp_cargaison(int numc);
};
소스 파일 :
#include <iostream>
#include "societe.hpp"
using namespace std;
int tailltabs = 0;
societe::societe(int tmax)/* here where the error is */
{
tailleMaxs = 100;
tailleTabs = tmax;
}
societe::societe(float pods, float vol, int num, int tmaxs)
{
tailleMaxs = tmaxs;
tailleTabs = 1;
}
societe::~societe()
{
for (int i = 0; i < tailleTabs - 1; i++) {
carg[i].~cargaison();
}
}
void societe::affich_societe()
{
for (int i = 0; i < tailleTabs - 1; i++) {
carg[i].affichCargaison();
}
}
cargaison societe::getcargaison(int i)
{
return carg[i];
}
void societe::setcargaison(int i, cargaison a)
{
carg[i] = a;
}
void societe::ajout_cargaison(float pods, float vol, int num, int ref, float dist, bool b)
{
if (b == 0) {
routiere[tailleTabs + 1].routiere(pods, vol, num, ref, dist);
}
if (b == 1) {
aerienne[tailleTabs + 1].aerienne(pods, vol, num, ref, dist);
}
tailleTabs++;
}
void societe::supp_cargaison(int num)
{
for (int i = 0; i < tailletabs - 1; i++) {
if (carg[i].getRef() == num) {
for (int j = i; j < tailltabs - 1; j++) {
carg[j] = carg[j + 1];
break;
}
carg[j - 1].~cargaison();
}
}
tailleTabs--;
}
cargaison.hpp
#include<iostream>
#include"marchandise.hpp"
class cargaison {
protected:
marchandise march[100];
int tailleMax ;
int static tailletab ;
public:
void addMarchandise(marchandise a);
void suppMarchandise(int num);
void affichParId(int num);
void affichTT();
float affichPoidTotal();
float affichVolTotal();
float affichCout();
cargaison(int tmax);
cargaison(float pods,float vol,int num,int tmax);
~cargaison();
void affichCargaison();
void modiferMarch(float npods,float nvol,int nnum, int onum);
};
1. 어디 헤더 파일입니까? 2. 코드를 올바르게 들여 씁니다. 읽을 수 없습니다. 3. 문제에 대해 알려지지 않은 모든 것을 제거하십시오.이 링크는 도움이 될 수 있습니다 : [mcve]. – HolyBlackCat
명시 적으로 소멸자를 호출 한 사람에게 조언을 구하지 마십시오. – molbdnilo
cargaison.hpp에서 cargaison의 정의를 보여 주시겠습니까? 그리고 어떤 줄에 오류 메시지가 표시되는지에 대한 의견을 표시 하시겠습니까? (* 그런데, 헤더 파일에서'namespace std;를 사용하는 것은 매우 나쁜 습관입니다 *). – Christophe