gpt4 book ai didi

c++ - 使用 Qt Creator 时出错 :"multiple definition" "first defined here"

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

我有一个问题。在我的 Qt 项目中,我遇到了一个错误。 Tt 说:

multiple definition of estructura

我认为这是因为我使用了太多的“#includes”,但我不知道如何修复它。

这是我的程序:

Struct.h

 #ifndef STRUCT_H
#define STRUCT_H

#include <stdio.h>
#include <string>

struct Circulo{
std::string nombre;
int capacidad;
int statusMujer[4];
int hijos[4];
};

struct Circulo estructura[30];

#endif // STRUCT_H

Logica.h

 #ifndef LOGICA_H
#define LOGICA_H
#include <iostream>
void madresStatusCodificados(std::string , int , int[]);
void ListadoDeCirculos(int, int , std::string []);
std::string CirculoMayorCapacidad(int );
int NinnosEnCirculosconStatus(int , int );
void Listado(int);
#endif // LOGICA_H

interfaz.cpp

#include <Interfaz/Interfaz.h>
#include <Logica/Defecto.h>
#include <Interfaz/Menu.h>
#include <Logica/Struct.h>
#include <iostream>
using namespace std;
void Principal(){
cin>>estructura[i].statusMujer[3];
cout<<"Escriba la cantidad de hijos con madres desconocidas"<<endl;
cin>>estructura[i].hijos[3];
i++;
}else{
break;
}
}
}

逻辑.cpp

#include <iostream>
using namespace std;
//#include <Logica/Logica.h>
#include <Logica/Struct.h>

void madresStatusCodificados(string t, int h , int k[]){
for(int i=0;i<h;i++){
if(estructura[i].nombre==t){
k[0]=estructura[i].statusMujer[0];
k[1]=estructura[i].statusMujer[1];
k[2]=estructura[i].statusMujer[2];
k[3]=estructura[i].statusMujer[3];
}
}
}

void ListadoDeCirculos(int g,int u,string h[]){

for(int i=0;i<u;i++){
if(estructura[i].statusMujer[g-1]!=0)
h[i]=estructura[i].nombre;
}
}


string CirculoMayorCapacidad(int k){
int n=-1;
string l;
for(int i=0;i<k;i++){
if(estructura[i].capacidad>n){
n=estructura[i].capacidad;
l=estructura[i].nombre;
}
}
return l;

}

int NinnosEnCirculosconStatus(int a,int b){
int h=0;
for(int i=0;i<b;i++){

h=h+estructura[i].hijos[a-1];
}

return h;
}


void Listado(int y){
for(int i=0;i<y;i++){
cout<<"NOMBRE DEL CIRCULO CAPACIDAD Madres solteras Madres trabajadoras Madres caso social Madres desconocidas "<<endl;
cout<<estructura[i].nombre<<""<<estructura[i].capacidad<<estructura[i].statusMujer[0]<<estructura[i].statusMujer[1]<<estructura[i].statusMujer[2]<<estructura[i].statusMujer[3]<<endl;
}
}

我收到这个错误: Errors

最佳答案

你在几个文件中定义了一个名为“estructura”的变量,错误告诉你它首先在 Struct.h 中定义,被称为#included in Logica.cpp,

struct Circulo estructura[30];

您对文件 Defecto.h 或 Defecto.h 包含的文件有另一个定义

关于c++ - 使用 Qt Creator 时出错 :"multiple definition" "first defined here",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47999249/

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