WinAPI und Strings
-
Gut, hier kommt also mein header:
//windows #include <windows.h> //mysql #include <my_global.h> #include <mysql.h> #include <string.h> MYSQL *mysql; string anzeige; LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); [...]Die Fehlermeldung wenn ich std::string mache ist:
'std' : Keine Klasse oder Namespace
-
lomtas schrieb:
#include <string.h>

-
und das heißt jetzt?
-
Dass du nochmal meine erste Antwort in diesem Thread lesen solltest.
-
also soll ich jetzt
#include <string>schreiben?
Dann bekomme ich 27 Fehler und paar Warnings....
-
MFK schrieb:
Für die Fehlersuche ist es von enormer Wichtigkeit, dass du die Fehlermeldung nicht für dich behältst.
-
c:\programme\microsoft visual studio\vc98\include\xutility(99) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xutility(99) : error C2059: Syntaxfehler : '<end Parse>'
c:\programme\microsoft visual studio\vc98\include\xutility(100) : error C2143: Syntaxfehler : Fehlendes ';' vor '{'
c:\programme\microsoft visual studio\vc98\include\xutility(100) : error C2447: Funktionskopf fehlt - Parameterliste im alten Stil?
c:\programme\microsoft visual studio\vc98\include\xstring(19) : error C2954: Vorlagendefinitionen koennen nicht verschachtelt werden
c:\programme\microsoft visual studio\vc98\include\xstring(371) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(373) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(374) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(375) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(378) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(379) : warning C4003: Nicht genuegend uebergebene Parameter fuer das Makro 'swap'
c:\programme\microsoft visual studio\vc98\include\xstring(41) : error C2065: '_Al' : nichtdeklarierter Bezeichner
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(41) : error C2440: 'type cast' : 'int' kann nicht in 'class std::allocator' konvertiert werden
Der Zieltyp besitzt keinen Konstruktor
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(41) : error C2056: Ungueltiger Ausdruck
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(41) : error C2071: 'basic_string<_E,_Tr,_A>::basic_string<_E,_Tr,_A>' : ungueltige Speicherklasse
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(41) : error C2461: 'basic_string<_E,_Tr,_A>' : Formale Parameterliste fuer Konstruktor fehlt
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(42) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'basic_string'
c:\programme\microsoft visual studio\vc98\include\xstring(597) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(600) : error C2039: 'npos' : Ist kein Element von 'basic_string<_E,_Tr,_A>'
c:\programme\microsoft visual studio\vc98\include\xstring(600) : error C2734: 'npos' : Konstantes Objekt muss initialisiert werden, wenn es nicht extern ist
c:\programme\microsoft visual studio\vc98\include\xstring(600) : error C2734: 'npos' : Konstantes Objekt muss initialisiert werden, wenn es nicht extern ist
c:\programme\microsoft visual studio\vc98\include\xstring(371) : error C2059: Syntaxfehler : '{'
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(371) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(372) : error C2059: Syntaxfehler : '{'
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(372) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(378) : error C2059: Syntaxfehler : '{'
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(378) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(379) : error C2059: Syntaxfehler : '{'
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\xstring(379) : error C2334: Unerwartete(s) Token vor '{'; sichtbarer Funktionsrumpf wird übersprungen
c:\programme\microsoft visual studio\vc98\include\stdexcept(29) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >'
c:\programme\microsoft visual studio\vc98\include\ostream(106) : error C2535: 'class std::basic_ostream<_E,_Tr> &__thiscall std::basic_ostream<_E,_Tr>::operator <<(int)' : Member-Funktion bereits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\ostream(66) : Siehe Deklaration von '<<'
c:\programme\microsoft visual studio\vc98\include\ostream(272) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_ostream<_E,_Tr>'
c:\programme\microsoft visual studio\vc98\include\ostream(106) : error C2535: 'class std::basic_ostream<char,struct std::char_traits<char> > &__thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator <<(int)' : Member-Funktion ber
eits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\ostream(66) : Siehe Deklaration von '<<'
c:\programme\microsoft visual studio\vc98\include\ostream(373) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_ostream<char,struct std::char_traits<char> >'
c:\programme\microsoft visual studio\vc98\include\ostream(106) : error C2535: 'class std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> > &__thiscall std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >:
:operator <<(int)' : Member-Funktion bereits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\ostream(66) : Siehe Deklaration von '<<'
c:\programme\microsoft visual studio\vc98\include\ostream(379) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_ostream<unsigned short,struct std::char_traits<unsigned short> >'
c:\programme\microsoft visual studio\vc98\include\istream(103) : error C2535: 'class std::basic_istream<_E,_Tr> &__thiscall std::basic_istream<_E,_Tr>::operator >>(int &)' : Member-Funktion bereits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\istream(67) : Siehe Deklaration von '>>'
c:\programme\microsoft visual studio\vc98\include\istream(423) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_istream<_E,_Tr>'
c:\programme\microsoft visual studio\vc98\include\istream(103) : error C2535: 'class std::basic_istream<char,struct std::char_traits<char> > &__thiscall std::basic_istream<char,struct std::char_traits<char> >::operator >>(int &)' : Member-Funktion b
ereits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\istream(67) : Siehe Deklaration von '>>'
c:\programme\microsoft visual studio\vc98\include\istream(544) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_istream<char,struct std::char_traits<char> >'
c:\programme\microsoft visual studio\vc98\include\istream(103) : error C2535: 'class std::basic_istream<unsigned short,struct std::char_traits<unsigned short> > &__thiscall std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >:
:operator >>(int &)' : Member-Funktion bereits definiert oder deklariert
c:\programme\microsoft visual studio\vc98\include\istream(67) : Siehe Deklaration von '>>'
c:\programme\microsoft visual studio\vc98\include\istream(564) : Siehe Verweis auf Instantiierung der kompilierten Klassenvorlage 'std::basic_istream<unsigned short,struct std::char_traits<unsigned short> >'
D:\Studium\Hausaufgaben\Informatik 1\geburtstag\start.cpp(10) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'anzeige'
D:\Studium\Hausaufgaben\Informatik 1\geburtstag\start.cpp(10) : error C2501: 'string' : Fehlende Speicherklasse oder Typbezeichner
D:\Studium\Hausaufgaben\Informatik 1\geburtstag\start.cpp(10) : fatal error C1004: Unerwartetes Dateiende gefundenDiese Fehler kommen alle, wenn ich aus
#include <string.h>#include <string>mache.
-
Setz bitte die Includedirektive für <string> mal vor die anderen. Aber lass die Usingdirektive dahinter.
-
Was war das?? Wieso funktioniert das jetzt? Kannst du mir erklären wieso die Reihenfolge wichig ist?
-
Die Windowsheader definieren einige Makros, die mit Funktionsnamen der Standardbibliothek übereinstimmen. Wenn man nun zuerst die Windowsheader einbindet, wendet der Präprozessor diese Makros in den Standardheadern an. Was dabei rauskommt, siehst du ja.