Hallo an alle.
Ich habe vor ca. einem halben Jahr angefangen mein erstes eigenes Spiel mit der SDL zu schreiben. Leider gibt es ein Problem dass mich ziemlich stört und auch stundenlanges Googeln konnte mir nicht helfen.
Mein Compiler gibt einen Fehler aus, sobald ich den <string> header in einem meiner Headerfiles include, selbst wenn ich garkeine String-Objekte verwende. Nur die #include <string> Direktive erzeugt bereits einen Fehler. Die Fehlermeldung des Compilers verweist allerdings nur auf den <string>-Header selbst, was mir nicht wirklich weiterhilft. "Syntaxfehler: ')'", "Es fehlt ')' vor Zeichenfolge" und "swprintf_s: Durch keine der 2 Überladungen konnten alle Argumenttypen konvertiert werden." Ich kann mit diesen Fehlermeldungen leider nichts anfangen wenn mich der Compiler nur auf den Header selbst verweist. Ähnliche Fehlermeldungen hatte ich damals schon als ich den <list> Header benutzen wollte, allerdings verschwanden dort alle Probleme als ich statt dem Debug-Mode in den Release-Modus wechselte... was mich hier ebenso verwirrt, ist, dass mein Quellcode perfekt funktioniert wenn ich die Zeile #include <string> einfach komplett weglasse. (Mir wurde gesagt iostream schließt string automatisch ein.) Es funktioniert auch, wenn ich statt <string> einfach <cstring> benutze.
Ich bin dann, nach einigem Stöbern hier im Forum, dem Rat gefolgt einfach den gesamten Code in ein neues Projekt zu packen weil eventuell einfach einige Einstellungen in Visual Studio durch "irgendwas" verändert wurden, aber das half leider auch nicht. (Ich benutze Visual Studio Express 2013.) Es scheint auch sonst nie jemanden gegeben zu haben der mit diesem Problem zu tun hatte (zumindest hat Google mir absolut nix verraten können), weswegen ich mich an euch wenden wollte. Wenn jemand weiß was hier kaputt ist, ob es die SDL oder Visual Studio ist, wäre ich extrem dankbar.