komischer unerklärlicher Fehler



  • hallo leute, seit neustem tritt bei mir folgendes problem auf und zwar:

    #include <string>
    
    int main(void)
    {
    	std::string s = "test";
    
    	return 0;
    }
    

    Wenn ich mit VisualStudio 2003.NET Standard das kompiliere und ausführe, funktioniert es!

    Wenn ich mit VisualStudio 2005.NET Standard Express das kompiliere und ausführe,
    kommt folgendes Fehler bei der Ausführung:

    Run-Time Check Failure #2 - Stack around the variable 's' was corrupted.
    

    Der Fehler tritt nur dann auf, wenn ich der Variable einen Wert zuweise:

    std::string s = "test";
    

    bei sowas ist kein fehler:

    std::string s;
    

    weiss einer woran das liegen kann ?



  • a) Ein Thread reicht in diesem Forum damit dir geholfen wird
    b) Eigentlich ist an deinem Beispiel nichts falsches dran, ich kann es jedenfalls mit meinem gcc Kompiler kompelieren.



  • a) sorry, war doppelt gepostet, keine absicht...
    b) mit welcher IDE hast du denn versucht ? und auch mit zuweisung bei dem string ?



  • IDE ist Code::Blocks mit gcc/g++ Kompiler.

    Ich hab den Quelltext von oben 1 zu 1 übernommen (mal unter der Voraussezung das Windows mit Strg-C Strg-V kopierten Text nicht verändert 😉 )

    Und auch ich selbst kann nichts falsches daran finden.



  • Ich habs auch nochmal mit der Visual C++ 2005 Express Editon von MS probiert.
    Gleiches Ergebnis wie mit dem gcc -> Keine Fehler. Der String wird auch ordentlich ausgegeben, wenn ich #include <iostream> und std::cout << s << std::endl; hinzufüge.

    (Es würde mich auch sehr wundern, wenn es anders wäre)


Anmelden zum Antworten