DragonSoul
29-06-2008, 13:41
Evo opet mene s mojim globalnim varijablama. Imam sljedeći source:
Global_vars.h
#pragma once
#ifndef GLOBAL_VARS_H
#define GLOBAL_VARS_H
#include "Item.h"
Item* Inventory[10];
#endif//GLOBAL_VARS_H
main.cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include "Item.h"
#include "Global_vars.h"
using namespace std;
//Item* Inventory[10];
int main()
{
Item* item;
item = new Item("Dummy Weapon", "A description of an item", 1, 10, 100, 1000, 0, 1);
cout << "Ime: " << item->getName() << endl << "Opis: " << item->getDescription() << endl;
cout << "Cijena: " << item->getPrice() << endl;
cout << "Compile suscessful!\n";
cin.get();
}
Inventory.cpp
#pragma once
#ifndef INVENTORY_H
#define INVENTORY_H
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include "Item.h"
#include "Global_vars.h"
using namespace std;
#endif//INVENTORY_H
Ove druge klase nisu važne. Sad kad hoću kompajlirati javi mi:
1>g:\my documents\...\main.cpp(15) : error C2065: 'inventory' : undeclared identifier
Što da radim da to proradi?
EDIT: Uspio sam ono gore riješiti, ali sad mi linker priča gluposti. Kaže:
1>main.obj : error LNK2005: "class Item * * Inventory" (?Inventory@@3PAPAVItem@@A) already defined in Inventory.obj
Global_vars.h
#pragma once
#ifndef GLOBAL_VARS_H
#define GLOBAL_VARS_H
#include "Item.h"
Item* Inventory[10];
#endif//GLOBAL_VARS_H
main.cpp
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include "Item.h"
#include "Global_vars.h"
using namespace std;
//Item* Inventory[10];
int main()
{
Item* item;
item = new Item("Dummy Weapon", "A description of an item", 1, 10, 100, 1000, 0, 1);
cout << "Ime: " << item->getName() << endl << "Opis: " << item->getDescription() << endl;
cout << "Cijena: " << item->getPrice() << endl;
cout << "Compile suscessful!\n";
cin.get();
}
Inventory.cpp
#pragma once
#ifndef INVENTORY_H
#define INVENTORY_H
#include <iostream>
#include <cstdlib>
#include <ctime>
#include <string>
#include "Item.h"
#include "Global_vars.h"
using namespace std;
#endif//INVENTORY_H
Ove druge klase nisu važne. Sad kad hoću kompajlirati javi mi:
1>g:\my documents\...\main.cpp(15) : error C2065: 'inventory' : undeclared identifier
Što da radim da to proradi?
EDIT: Uspio sam ono gore riješiti, ali sad mi linker priča gluposti. Kaže:
1>main.obj : error LNK2005: "class Item * * Inventory" (?Inventory@@3PAPAVItem@@A) already defined in Inventory.obj