Citat:
#include "../nekiHeader"
da li ovakav poziv zaglavlja ima neku posebnu namenu (definisano je i kao svako drugo zaglavlje) i kada to treba primenjivati?
U praksi, c++ kod nekog projekta nije samo u jednom istom folderu, nego se prodeže kroz subfoldere, a ponekad se deo nekog zajedničkog dela koda nalazi i na sasvim drugoj lokaciji (čak i disku, mreži).
Ponekad se kompajler 'buni' jer header fajl koji mu je 'podmetnut', npr:
#include "MBox.h"
... ne bude 'pronađen', pa je potrebno tačnije 'gađati' putanju, npr:
#include "..\..\_Shared\Code\MsgDlg\MBox.h"
(ako se sećam, ovo su dva foldera unazad, pa onda ulazak u folder _shared, itd...)
E sad, postoje načini kako ovo izbeći. Na primer, okruženja imaju podešavanja "Include path" pa je bolje tamo podesiti početne putanje, a u kodu koristiti samo 'proste' putanje, jer tada se fajl može kopirati bilo gde bez potrebe za njegovim naknadnim menjanjem u kontekstu novog projekta.
Dalje, kako glavni projektni fajl ima putanje projektnih fajlova, ponekad nije potrebno posebno gađati lokaciju headera iako su smešteni po sub/folderim, jer se vuku iz njega. O ovome verovatno Dragi Tata može dati više korisnih detalja.
Inače, meni se sviđa kako je .NET sa namespaces rešio sve ove probleme oko referenciranja.