Wie deklarieren Sie Arrays in einem C ++ - Header?

Dies ist verbunden mit einigen anderen Fragen, wie: dieseund einige meiner anderen Fragen.

In diese Frageund andere, die wir sehen, können wir deklarieren und initialisieren string-arrays in einen schönen Schritt, zum Beispiel:

const char* const list[] = {"zip", "zam", "bam"}; //from other question

Diese kann getan werden, in der Implementierung einer Funktion mit nicht zu stören, oder in den Körper ein .cpp-Datei, außerhalb jeder Rahmen.

Was ich will zu tun ist, um ein array wie dieses als Mitglied einer Klasse, die ich verwende, so etwas wie dieses:

class DataProvider : public SomethingElse
{
    const char* const mStringData[] = {"Name1", "Name2", "Name3", ... "NameX"};

public:
    DataProvider();
    ~DataProvider();

    char* GetData()
    {
        int index = GetCurrentIndex(); //work out the index based on some other data
        return mStringData[index]; //error checking and what have you omitted
    }

};

Aber der compiler meckert und ich kann nicht scheinen, um herauszufinden, warum. Ist es möglich, deklarieren und initialisieren Sie ein array wie dieses in einem Schritt bei der definition einer Klasse? Gibt es alternativen, die besser sind?

Ich bin sicher, dies ist eine sehr Anfängerfehler, aber wie immer, Ihre Hilfe und Ihre Beratung ist sehr geschätzt.

Cheers,

xan

InformationsquelleAutor der Frage xan | 2008-11-12

Schreibe einen Kommentar