Ärger deklarieren einer globalen array von strings in c

Den folgenden code, im globalen Rahmen, nicht kompiliert:

const char *one = "1";
const char *two = "2";
char *nums[2] = {one, two};

Die Fehlermeldung "Initialisierung element nicht konstant" - das wundert mich, da die Variablen eins und zwei sind sowohl deklariert als Konstanten. Machen nums const nicht das problem zu beheben. Deklarieren nums mit string-literalen (char *nums[2] = {"1", "2"};) hat das problem zu beheben, aber aus Gründen der Lesbarkeit würde ich eher nicht tun, es auf diese Weise in meinem eigentlichen code.

Gibt es eine anständige Möglichkeit, diese arbeiten?

  • constant bedeutet nicht const es heißt ein literal, wie "bla bla"
InformationsquelleAutor GMB | 2011-11-16
Schreibe einen Kommentar