Initialisere en liste i en vector
Jeg er ved at lave en liste indeholdende objekter. Disse objekter skal oprettes ved load af applikationen (en object factory) efterfølgende vil jeg gerne smide alle mine objekter ind i en vector således jeg har styr på dem. Jeg har lidt problemer med at initialisere min vector og har prøvet en hel del efterhånden: dette er min header på listeobjektet:#ifndef ADMINISTRATIONLIST_H
#define ADMINISTRATIONLIST_H
#include "Administration.h"
#include <vector>
using namespace std;
class AdministrationList
{
private:
static int number_of_objects;
static vector<Administration> administrationsBygninger;
public:
AdministrationList();
~AdministrationList();
void setNumberOfObjects(int newNumber);
void addAdministrationToList(Administration newAdministration);
int getNumberOfObjects();
Administration getBuildingAt(int index);
vector<Administration> getAdministration();
};
#endif
Som det umiddelbart fremgår vil jeg gerne have min vector statisk, og have nogle funktiner på klassen til almindeligt vedligehold. HEr er implementeringen af nogle af disse funktioner:
#include"AdministrationList.h"
AdministrationList::AdministrationList()
{
//administrationsBygninger=new vector<Administration>;
}
AdministrationList::~AdministrationList()
{
//destructor
}
void AdministrationList::addAdministrationToList(Administration newAdministration)
{
administrationsBygninger.push_back(newAdministration);
}
vector<Administration*> AdministrationList::getAdministration()
{
return administrationsBygninger;
}
Jeg får følgende fejl når jeg compiler, jeg er rimelig sikker på det er return typen vector den er gal med, men jeg ved ikke hvordan jeg skal lave den...
Noget andet er at fjerner jeg de sidste liniers kode, det med return type vector, får jeg en linker fejl (som det også ses af koden har jeg eksperimenteret i blinde til sidst og prøvet på alt, helt basalt vil jeg bare gerne i ontakt med min vector og bruge den i min liste 8-) som denne :
Linking...
AdministrationList.obj : error LNK2001: unresolved external symbol "private: static class std::vector<class Administration,class std::allocator<class Administration> > AdministrationList::administrationsBygninger" (?administrationsBygninger@Administ
rationList@@0V?$vector@VAdministration@@V?$allocator@VAdministration@@@std@@@std@@A)
Debug/Prototype2.exe : fatal error LNK1120: 1 unresolved externals