Ich baue eine geheime Nachricht Klasse, die einen Vektor von Zeilen in einer Nachricht und Anzahl der maximalen Zeiten hat jede Nachricht angezeigt werden kann. Ich versuche den Operator [] zu überladen, um eine Nachricht sehen zu können.Rückgabe eines const Verweis auf eine Zeichenfolge
Zum Beispiel: Wenn ich den folgenden Vektor von Strings initialisiert werden soll, soll ich in der Lage sein zu tun ...
vector<string> m = {
"Here is the first line",
"I have a second line as well",
"Third line of message"};
//initialize message - each line may be viewed a maximum of two times
SelfDestructingMessage sdm(m, 2);
cout << sdm[0] << endl;
//outputs "Here is the first line" and decrements remaining views of first line by one
Meine Frage ist, erklärte ich den Bediener in der Header-Datei und dann festgelegt, wie folgt in einer Funktion Datei:
string SelfDestructingMessage::operator[](size_t index){
return const string & message[index];
}
so sollte ich in der Lage sein, die eigentliche Nachricht mit dem Operator [], um zu sehen, die ein size_t Argument (Index) hat. Es sollte einen Const-Verweis auf die Nachrichtenzeichenfolge zurückgeben, die aus dem Vektor der Nachrichten, die für das Objekt spezifisch sind, indiziert wurde.
Aber beim Kompilieren bekomme ich einen "Fehler: erwarteten primären Ausdruck vor 'const' zurück const Zeichenfolge & Nachricht [Index];"
Irgendeine Idee über die Ursache?