m_Ausgabe = Seite[zahl] funktioniert nicht



  • Hallo !

    Ich will einer Member Variablen einen Array zuweisen

    aber diese Fehlermeldung erscheint:

    error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::basic_string<char,struct std::char_trait
    s<char>,class std::allocator<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich)

    Was ist zu tun



  • Hallo,

    also um da was sagen zu können, müßtest du wenigstens angeben, wo und vor allem wie die Variablen m_Ausgabe und Seite[] deklariert sind.

    Ausgehend von der Fehlermeldung dürfte m_Ausgabe vom Typ string sein, also defakto ein STL-Container. In dem Fall versuch es mal mit

    #include <string>
    

    Gruß WinCoder



  • Hallo !

    m_Ausgabe ist CString und Seite ist string Seite[10000]

    #include <string> habe ich drin



  • heinz.hemer schrieb:

    Hallo !

    m_Ausgabe ist CString und Seite ist string Seite[10000]

    #include <string> habe ich drin

    Alles klar! 💡
    Die Datentypen string und CString sind nicht kompatibel.
    Versuchs mal mit

    char Seite[10000];
    

    Das passt auf jeden Fall mit CString zusammen. Oder gleich

    CString Seite;
    

    Gruß WinCoder



  • Jetzt hab ich CString Seite[10000];

    gemacht und das passiert:

    m_Ausgabe = Seite[2];

    error C2679: Binaerer Operator '=' : Kein Operator definiert, der einen rechtsseitigen Operator vom Typ 'class std::basic_string<char,struct std::char_trait
    s<char>,class std::allocator<char> >' akzeptiert (oder keine geeignete Konvertierung moeglich)



  • Das versteh ich jetzt auch nicht mehr! 😕
    Also, wenn du wirklich hast:

    CString m_Ausgabe;
    CString Seite[10000];
    
    // ... irgendwelche Verarbeitugen ...
    
    m_Ausgabe = Seite[2]    // --> Fehler C2679
    

    ... dann ist irgendwas oberfaul! 😡 👎

    'class std::basic_string<char,struct std::char_trait
    s<char>,class std::allocator<char> >'

    ist definitiv der STL-Typ string bzw basic_string <char>

    Such doch mal, ob dur irgendwo noch eine Variablendeklaratin vom typ string hast. Mehr fällt mir dazu erstmal auch nicht ein. 😞

    Gruß WinCoder



  • CString habe ja die Membervariable m_Ausgabe genannt im MFC Klassenassistenten

    wenn ich das m_Ausgabe = Seite[2]

    am Anfang im Code habe geht es - nur nach einer Schleife nicht

    da kennt c++ auf einmal die Variable nicht mehr



  • heinz.hemer schrieb:

    nur nach einer Schleife nicht
    da kennt c++ auf einmal die Variable nicht mehr

    ... und was macht die Schleife?
    Vielleicht ist es besser, wenn du mal ein bisschen Code postest. Ansonsten ist es immer schwirig solche Fehler zu analysieren.

    Gruß WinCoder


Anmelden zum Antworten