Konvertierung des Parameters 1 von 'std::string **__w64 ' in 'std::string *' nicht möglich
-
Ich habe in einer Headerdatei eine Klasse definiert.
In der main-Funktion lege ich ein neues Objekt dieser Klasse an, dadurch wird der Konstruktor aufgerufen, der einen String einliest.Die Adresse dieses Strings gebe ich dann an die nächste Funktion weiter, um den String in Großbuchstaben zu konvertieren.
Nach diesem Schritt möchte ich den in Großbuchstaben kovertierten String an die nächste Funktion übergeben.Folgende Fehlermeldung erscheint:
rom2Arab.h(55): error C2664: 'rom2Arab::romCheck': Konvertierung des Parameters 1 von 'std::string **__w64 ' in 'std::string *' nicht möglichHier die Header-Datei:
#ifndef ROM2ARAB_H #define ROM2ARAB_H #include <iostream> #include <conio.h> #include <cstdlib> #include <string> #include <algorithm> using namespace std; // Klasse zur Umwandlung roemischer in arabische Zahlen class rom2Arab { private: string sRoemischeZahl; public: rom2Arab(); int romEinlesen (); int romToUpper (string *name); int romCheck (string *name); int romConversion (string *name); }; // Konstruktor der Klasse rom2Arab::rom2Arab() { romEinlesen(); } // Funktionen der Klasse int rom2Arab::romEinlesen () { cout << "Geben Sie bitte eine roemische Zahl ein!\n" << "Erlaubt sind folgende Ziffern:\n" << "I - V - X - L - C - D - M\n\n" << "Eingabe: " ; cin >> sRoemischeZahl; romToUpper(&sRoemischeZahl); return 0; } int rom2Arab::romToUpper(string *name) { transform(name->begin(), name->end(), name->begin(), ::toupper); romCheck(&name); return 0; } int rom2Arab::romCheck(string *name) { cout << *name; getch(); return 0; } #endif ROM2ARAB_HIch muss doch der nächsten Funktion wieder die Adresse des Strings (name) übergeben. Warum geht das denn nicht

Danke schonmal im Voraus für eure Hilfe

-
name statt &name in Zeile 55?
-
Das wars
Denkfehler.
Kann ja nicht die Adresse der Adresse übergeben.Dankeschön

-
Statt Zeiger solltest du besser Referenzen übergeben (d.h. "string & name"), dann entfällt das lästige Dereferenzieren und Fehler wie bei dir sind auch seltener...
-
Habit schrieb:
Kann ja nicht die Adresse der Adresse übergeben.
Kannst Du schon, nur in Deinem Fall halt nicht.