voglio fornire una costante stringa in un'API in questo modo:extern const char * const SOME_CONSTANT mi dà errori del linker
extern const char* const SOME_CONSTANT;
Ma se io definisco nel mio file sorgente libreria statica come
const char* const SOME_CONSTANT = "test";
ricevo errori del linker quando si collegano contro quella biblioteca e l'utilizzo di SOME_CONSTANT:
errore 1 errore LNK2001: simbolo esterno " const char * const SOME_CONSTANT"(? SOME_CONSTANT @@ 3QBDB)
Rimozione del puntatore const-ness (seconda parola chiave const) sia dalla dichiarazione e la definizione rende il lavoro extern const char* const
. Come posso esportarlo con il puntatore con il puntatore?
beh, sembra che dovrebbe essere okay http://stackoverflow.com/questions/2190919/mixing-extern-and-const –
Visto come lo hai codificato in C++, non dovrebbe una "costante di stringa" essere effettivamente 'const std :: string' in primo luogo? – Angew
Inoltre, la dichiarazione 'extern' è visibile nel file sorgente che definisce la costante? – Angew