Samstag, Dezember 14, 2019

C++ std::stringstream operator<< überlastung

Habe ich die folgende Klasse(prototipe):

class Token
{
public:
    //members, etc.
    friend std::stringstream& operator<< (std::stringstream &out, Token &t);
};

Den Betreiber umgesetzt wie diese:

std::stringstream & operator<< (std::stringstream &out, Token &t)
{
    out << t.getValue(); //class public method
    return out;
}

Nun, ich bin versucht, es zu benutzen wie diese:

std::stringstream out;
Token t;
//initialization, etc.

out << t;

Und VS gibt mir eine Fehlermeldung, die besagt, daß es keine übereinstimmung für “ << Betreiber. Was mache ich falsch?

  • Willkommen ALSO. Wenn Sie code-Beispiele, bitte halten Sie ein Einzel -, kompilierbare code. Und geben Sie immer die vollständige compiler-Fehler.
InformationsquelleAutor Dan Tumaykin | 2012-01-11

1 Kommentar

  1. 14
    std::stringstream & operator<< (std::stringstream &out, Token &t)

    sollte

    std::ostream & operator<< (std::ostream &out, Token const &t)
    • nur eine Frage, warum ostream, und nicht stringstream? weil der stringstream erbt operator<< von ostream? auch ist const obligatorisch?
    • ist nicht notwendig, aber es ist guter Stil. ostream ist die Klasse des output-streams, die ostringstream und stringstream ableiten.
    • Beachten Sie die Notwendigkeit für friend hier: stackoverflow.com/questions/15777944/…

Kostenlose Online-Tests

Letzte Fragen

Tun ItemView löst Blase?

Ich habe eine CompositeView für eine Tabelle. Ich habe Trigger-set in der Kind-ItemView für jede Zeile... var TableRow = Marionette.ItemView.extend({ tagName:...

Wie kann ich untersuchen, WCF was 400 bad request über GET?

Die folgenden WCF-endpoint funktioniert gut mit dem WCF test client: AssetList ListFlaggedAssets(short processCode, string platform, string endpoint = "null", string portalId = "null", int...

Bei der Verwendung von UUIDs, sollte ich auch mit AUTO_INCREMENT?

Wir bauen eine neue web-app, die eine offline-iPad - /Android-app-version auf einer Reihe von lokalen Geräten, die Einsätze mit neuen Daten. Als solche benötigen...

Actionscript-Objekt, das verschiedene Eigenschaften

Wie kann ich die Anzahl der Eigenschaften in einer generischen Actionscript-Objekt? (Wie die Array-Länge) InformationsquelleAutor Fragsworth | 2011-01-15

Wie plot mehrere Graphen und nutzen Sie die Navigations-Taste im [matplotlib]

Die neueste version von matplotlib erstellt automatisch Navigations-buttons unter den graph. Aber die Beispiele, die ich finden alles im Internet zeigen, wie erstellen Sie...