No consigo que funcione. Solo quiero tener un header con el struct y usar los datos desde cualquier .cpp
Con este code no da error de struct pero si de objetostotales
struct.h
#ifndef STRUCTOBJETO_H
#define STRUCTOBJETO_H
int ObjetosTotales = 0;
struct Objeto{
float x, y, z;
int modelo;
float t_x, t_y, t_z;
int ang_x;
void Nuevo(int vmodelo, float vx,float vy,float vz,int vang_x,float vt_x,float vt_y,float vt_z) {
modelo = vmodelo;
ang_x = vang_x;
x = vx; t_x = vt_x;
y = vy; t_y = vt_y;
z = vz; t_z = vt_z;
ObjetosTotales++;
}
};
extern Objeto objeto[5000];
#endif
main.cpp
#include "header.h"
#include "struct.h"
using namespace std;
struct Objeto objeto[5000];// Declaración, no va con extern!
int Comprobar();
int main(){
cout << "asdasd" << endl;
objeto[ObjetosTotales+1].Nuevo(69,1,1,1,1,1,1,1);
getch();
Comprobar();
getch();
return 0;
}
anadir.cpp
#include "header.h"
#include "struct.h"
using namespace std;
int Comprobar(){
if(objeto[ObjetosTotales].modelo == 69){
return 1;}
return 0;
}
Errores:
Vinculando...
anadir.obj : error LNK2005: ya se definió "int ObjetosTotales" (?ObjetosTotales@@3HA) en main.obj
struct.obj : error LNK2005: ya se definió "int ObjetosTotales" (?ObjetosTotales@@3HA) en main.obj
C:\Documents and Settings\isc\Mis documentos\Visual Studio 2008\Projects\Structs\Debug\Structs.exe : fatal error LNK1169: se encontraron uno o más símbolos definidos simultáneamente