sto bene addentro nel tipico paradigma:dichiarare e inizializzare costante nel file di intestazione
//.h
extern const int myInt;
//.c, .m, .cpp, what have you
const int myInt = 55;
Ma ci deve essere un modo per metterlo in .h
file per l'uso con le librerie o altri casi in cui si non può accedere al file di implementazione.
Per esempio, sto cercando di aggiungere un NSString
costante in un file .h
in un progetto Xcode in questo modo:
static NSString *const myString = @"my_string";
tuttavia, quando si tenta di utilizzare myString
, ottengo l'errore
elementoinizializzatore non è una costante
su myString
tempo di compilazione , indicando che non è stato istanziato correttamente. Come si dichiarano le costanti di compilazione in un file di intestazione C++ o Objecitve-C?
Quindi questo è pensato per essere C o C++? È possibile inizializzare globals con espressioni run-time in C++, ma non in C. –
Buono a sapersi che non è possibile per C. Aggiornerà i tag. –