String.getlenght() geht nicht



  • Hey.
    Bin am verzweifeln.
    Eigentlich wollte ich nur schnell die Länge eines Strings auslesen:

    sTest = sDeinName.GetLength();
    

    (Keine Sorge: sTest und sDeinName habe ich deklariert);

    Aber nun kommt immer der Error:

    error C2593: 'operator =' is ambiguous



  • Was hat denn sTest für ein Typ?



  • std::string hat keine Methode GetLength - du benutzt also vermutlich eine selbstgebaute oder proprietäre Stringklasse. Damit weiß dann keiner, von welchem typ die Rückgabe von GetLength ist, und von welchem Typ sTest ist, hast du auch nicht angegeben. Vermutlich liegt folgendes vor: wenn T1 der Typ von sTest ist, und T2 der Rückgabetyp von GetLength, dann gibts keinen op=, der ein T2 einem T1 zuweist. Der Compiler sucht dann nach impliziten Konvertierungen für T2 (z.B. in T1 oder in ein int oder ein short oder...) und findet zwei (oder mehr), mit denen der op= funktionieren würde. Er kann sich nicht entscheiden welche er nehmen soll und genau das besagt die Fehlermeldung.



  • David_pb schrieb:

    Was hat denn sTest für ein Typ?

    ich verwende CStrings



  • ichnochmal schrieb:

    David_pb schrieb:

    Was hat denn sTest für ein Typ?

    ich verwende CStrings

    cstrings werden die teile genannt, die nichts mehr als nen char* sind^^
    die haben keine fkt oder member - also scheinst du irgendwas zu verwechseln...
    zeig doch mal ein wenig mehr quellcode!

    bb



  • unskilled schrieb:

    cstrings werden die teile genannt, die nichts mehr als nen char* sind^^

    Du willst den Fragesteller wohl ärgern, oder?

    knappiknuppi, Du hast zu wenig Informationen geliefert. Diese kurzen Code-Schnippsel sind nicht zu gebrauchen.



  • Sebastian Pizer schrieb:

    unskilled schrieb:

    cstrings werden die teile genannt, die nichts mehr als nen char* sind^^

    Du willst den Fragesteller wohl ärgern, oder?

    knappiknuppi, Du hast zu wenig Informationen geliefert. Diese kurzen Code-Schnippsel sind nicht zu gebrauchen.

    verdammt xD
    ich war mir auch sicher, CString schon mal gesehen zu haben - allerdings hat die google suche nach c++ cstring mich nicht bestätigt und dann war ich halt davon ausgegangen, dass er C-Strings meinte^^
    sry

    bb


Anmelden zum Antworten