Originariamente inviato da gianvituzzi
il compilatore mi accettera una dichiarazione (e definizione) del genere...
No. Manca infatti il punto e virgola dopo la graffa di chiusura della classe ;-)
In ogni modo si evince che forse non ti è chiara l'utilità ed il senso dei namespace. Pensala semplicemente ad un modo formale per evitare conflitti tra nomi, che ad esempio in C si affronta in modo arbitrario applicando prefissi agli identificatori:
Ad esempio in C essendo il mio acronimo IG:
codice:
int IGIperSort (...);
in C++:
codice:
namespace ig{
int IperSort (...);
}
e può essere comodo in fase di sviluppo per il versionamento test e convalidazione:
In C:
codice:
int IGIperSort_old (...);
int IGIperSort (...){
int ret;
....
assert (IGIperSort_old () == ret);
return ret;
}
in C++:
codice:
namespace ig_old{
int IperSort (...);
}
namespace ig{
int IperSort (...){
int ret;
....
assert (ig_old:: IperSort () == ret);
return ret;
}
}