[C++] #include <...> a program w kilku plikach
Ostatnio zmodyfikowano 2012-07-28 12:14
Unlimited Temat założony przez niniejszego użytkownika |
[C++] #include <...> a program w kilku plikach » 2012-07-28 11:35:42 Witam ponownie. Nurtuje mnie pewne zastosowanie #include <jakaś tam biblioteka> w plikach dołączanych do głównego. Krótko: mam plik główny main.cpp i w nim powiedzmy na początku programu #include <string> i using namespace std; następnie pod nimi dołączam plik #include "jakiśtam.hpp" i w nim jak zadeklaruje sobie coś w stylu string tekst; to wywala błąd o braku bibliotek. Dlaczego? Przecież dodałem te biblioteki w głównym pliku main.cpp więc dlaczego się wydziera że ich nie ma? Po co dawać je kilka razy? Wtedy się chyba powiększa niepotrzebnie objętość pliku...
W kursie bodajże było żeby wystrzegać się dołączania kilka razy tego samego pliku .hpp i żeby tak się nie stało stosować #ifndef jakiśtamplik_hpp #define jakiśtamplik_hpp ... ... ... #endif
Jak to się ma do bibliotek? |
|
Badman |
» 2012-07-28 11:57:23 Ponieważ to co znajduje się w pliku jakiśtam.hpp kompletnie nic nie wie o funkcjach, czy typach innych niż sztandarowe języka C/C++. Includy, które znajdują się w main.cpp widziane są tylko i wyłącznie (zakres ważności) w tym pliku. Chcąc korzystać z funkcji, czy nowych typów jakieś biblioteki w pliku jakiśtam.hpp muszisz "includować" jej nagłówki. |
|
Unlimited Temat założony przez niniejszego użytkownika |
» 2012-07-28 12:11:51 Czyli w każdym pliku muszę pisać np using namespace std; gdy nie chcę dodawać przedrostka std:: ? Nom dzięki |
|
SeaMonster131 |
» 2012-07-28 12:14:18 Tak. Chyba że dołączysz (poprzez include) jakiś plik, który zawiera już te "using namespace std". |
|
« 1 » |