Czołem,
czy definicja takiego kontenera wewnątrz statycznej funkcji ma jakiś sens? Próbuje wypełnić kontener wartościami, ale się nie udaje, bo dostaje unresolved externals
. Ręczne wrzucenie danych poprzez initializer_list
na globalnym zasięgu działa, ale nie podoba mi się trzymanie tego w tym miejscu, dlatego wolałem zwrapować to do jakiejś funkcji. Tak swoją drogą na globalnym zasięgu nie mogę nawet pętli napisać, bo ona tam nie może być i teraz nawet nie wiem jak wrzucić dane do tego kontenera :P
std::vector<std::string> Game::provinces = {"poo", "foo"}; //no i to działa. Logiczne.
void Game::loadProvincesFromFile() { //statyczna metoda
std::fstream file("provinces.txt");
if (!file) {
std::cout << "couldn't load provinces!\n";
exit(0);
}
else {
std::string lineToRead;
std::vector<std::string> Game::provinces; //cannot be defined in the current scope
while (getline(file, lineToRead))
Game::provinces.push_back(lineToRead);
}
}
Pomóżcie, bo zaraz chyba osiwieje od tego keyworda static
!
P.S.: sorki za ręczne formatowanie - piszę z komórki (na kompie nie mam neta, bo awaria w orange XD)