Does not name a type, pomimo, że linijkę wcześniej deklarowałem.
Ostatnio zmodyfikowano 2015-11-12 18:22
skjeleton Temat założony przez niniejszego użytkownika |
Does not name a type, pomimo, że linijkę wcześniej deklarowałem. » 2015-11-12 01:34:10 Cześć, mam taki problem: Mam plik config.hpp, w którym miałem zamiar wpisać ścieżki do plików. Najpierw dołączyłem biblioteki: #include <string> #include <vector>
Po czym napisałem deklarację vector'a string'ów. std::vector < std::string > GOBJ_DIRT_PATH; GOBJ_DIRT_PATH.push_back( "bin/Data/Pics/Minerals/Dirt-1.png" ); GOBJ_DIRT_PATH.push_back( "bin/Data/Pics/Minerals/Dirt-2.png" );
I tutaj zaznacza linię zaznaczoną strzałką i wyświetla komunikat: error: 'GOBJ_DIRT_PATH' does not name a type Dlaczego? I druga sprawa, czy moglibyście powiedzieć, czy można za pomocą vectorów definiować stałe? |
|
michal11 |
» 2015-11-12 02:01:10 Pokaż więcej kodu, z tego co zrozumiałem twoje dodawanie wartości do vectora odbywa się w pliku hpp, co jest błędem musisz mieć jakąś funkcję w której będziesz wywoływał push'e do vetora. czy można za pomocą vectorów definiować stałe? |
Nie bardzo rozumiem co masz na myśli, const vector <> ? |
|
j23 |
» 2015-11-12 10:55:32 (...) czy można za pomocą vectorów definiować stałe? |
Trochę bez sensu, bo jeśli tablica ma być stała, to dlaczego std::vector a nie np. std::array lub po prostu zwykła tablica? std::array < const std::string, 4 > GOBJ_DIRT_PATH = { "value_1", "value_2", "value_3", "value_4" };
std::array < const char * const, 4 > GOBJ_DIRT_PATH = { "value_1", "value_2", "value_3", "value_4" }; |
|
Monika90 |
» 2015-11-12 16:20:21 @j23 const dałeś w złym miejscu, co tym bardziej ma znaczenie jeżeli te definicje mają być pliku nagłówkowym. Ale najlepiej byłoby przenieść definicję do pliku cpp, a w nagłówku zostawić tylko deklarację. |
|
j23 |
» 2015-11-12 18:22:21 W sumie masz rację, tak powinno być: const std::array < std::string, 4 > GOBJ_DIRT_PATH = { "value_1", "value_2", "value_3", "value_4" };
const std::array < const char *, 4 > GOBJ_DIRT_PATH = { "value_1", "value_2", "value_3", "value_4" }; |
|
« 1 » |