2017-07-08 3 views
0

beginne ich folgende Kompilierungsfehlern bin immer:Zeichenfolge kann keine Parameterdeklaration

bool isRotated(string str1, string str2) 
{ 

} 

'string' kann keine Parameterdeklaration starten

) erwartet

Header-Dateien enthalten sind:

iostream.h 
string.h 

Bin ich hier etwas fehlt?

+0

Bitte geben Sie [Minimales, vollständiges und verifizierbares Beispiel] (https://stackoverflow.com/help/mcve) an. Dies könnte durch die Anzahl der Dinge verursacht werden. Wenn Ihr Code kurz ist, schreiben Sie ihn bitte, nicht nur die Funktion – Fureeish

+0

'std :: string'? – Serge

+3

iostream.h? Lernst du C++ aus einem 20 Jahre alten Buch? – Blastfurnace

Antwort

1

Es gibt keinen vollständig qualifizierten Typnamen string in C++ - Standardbibliothek. Alle Standardbibliothekstypen sind im Namespace std deklariert, daher lautet der Name des gesuchten Typs std::string. Sie haben auch nicht den Header enthalten, der std::string deklariert: <string> (<string.h> ist eine vollständig andere Kopfzeile, Teil der C-Standardbibliothek, die in C++ - Standardbibliothek enthalten ist).

P.S. <iostream.h> Header ist nicht Standard - obwohl es von einigen Compilern vor der Standardisierung verwendet wurde. Sie suchen nach <iostream>. Obwohl Ihr Beispiel nichts aus diesem Header verwendet.

3

Weder iostream.h noch string.h existieren in C++ *, und der Typ heißt std::string.

Sie scheinen von einer extrem alten Ressource zu lernen (etwas, was wir C++ seit 1998 nennen).

#include <string> 

bool isRotated(std::string str1, std::string str2) 
{ 
} 

* Pedanten werden feststellen, dass string.h für die Kompatibilität mit C enthalten ist, aber ist besser bekannt als cstring und ist unabhängig haupt nicht die gleichen Header, der Sie beabsichtigen, hier zu verwenden.

+0

Ich hatte C++ lange Zeit zurück gelernt und gerade erst angefangen aufzuräumen, kleinen Code zu schreiben ... Danke –

+0

@ S.Kartik: Beste Abholung [ein gutes Buch] (http://stackoverflow.com/questions/388242/the -definitive-c-book-guide-and-list) weil du viel verpasst hast. –

+0

Danke, werde ich. Vielen Dank für Ihre Eingaben, schätzen Sie es! –

Verwandte Themen