Stringtabelle



  • Hallo,

    ich habe in einer Klasse ein String- Array erzeugt und dieses möchte ich auch gleich initialisienen mit Strings,

    Wie kann ich das machen:
    Mein Array schaut so aus:

    string ipadressen[10];
    

    ipadressen möchte ich eben gleich die Strings zuweisen in der Art:

    string ipadressen[10]; = {"10.0.0.1", "10.0.0.2", ...} // so gehts leider nicht
    

    Ist das irgendwie möglich, in C gehts ja so aber ich weiß nicht, was i´ch hier in C++ falsch mache,

    lg und vielen Dank für die Antworten,



  • omg...

    guckst du:

    string ipadressen[10]; = {"10.0.0.1", "10.0.0.2", ...} // so gehts leider nicht
    
    // das muss SO aussehen
    string ipadressen[10] = {"10.0.0.1", "10.0.0.2", ...};
    
    // du hast da einfach zu früh ein Semikolon rein gehauen
    


  • Hallo,

    ja das ist schon klar. hab ich in meinem Code eh nicht gemacht,
    mein Code ist so aufgeteil, dass ich mein Programm in *.h und *.cpp aufgeteilt hab.

    Meine *.h schaut so aus:

    class CCServer : CNode
    {
    private:
    	int clientCnt;
    	char * puffer;
    
    public:
    	CCServer(string hostname, string ipadresse); 
    	string ipadressen[10] = {"10.0.0.1", "10.0.0.2"};
    };
    

    Die Fehlermeldung schaut so aus:

    cserver.h(25) : error C2059: Syntaxfehler: '{'
    

    Was mache ich da falsch?

    lg



  • Das geht auch so nicht - Du musst die Initialisierung im Konstruktor durchführen, und da gibt es die Array-Initialisierung dummerweise nicht.

    Sind die IP-Adressen in der Tabelle denn Grundwerte oder Konstanten? Im zweiten Fall kannst Du das Array statisch machen und ausserhalb der Klasse initialisieren. Dann gibt es die Tabelle aber nur einmal, und nicht pro Instanz.

    // In der Klasse
    public:
        static const string ipadressen[10];
    
    // In der Implementierungsdatei
    const string CCServer::ipadressen[10] = { ... };
    


  • EDIT: ok zu spät....


Log in to reply