C'est mon exemple de code:
#include <iostream>
#include <string>
using namespace std;
class MyClass
{
string figName;
public:
MyClass(const string& s)
{
figName = s;
}
const string& getName() const
{
return figName;
}
};
ostream& operator<<(ostream& ausgabe, const MyClass& f)
{
ausgabe << f.getName();
return ausgabe;
}
int main()
{
MyClass f1("Hello");
cout << f1;
return 0;
}
Si j'en commentaire, #include <string>
je n'ai aucune erreur de compilation, j'imagine, parce que c'est une sorte de reprise par #include <iostream>
. Si je "clic-droit --> Aller à la Définition de" dans Microsoft VS ils insistent tous les deux sur la même ligne dans l' xstring
le fichier:
typedef basic_string<char, char_traits<char>, allocator<char> >
string;
Mais quand je lance mon programme, j'obtiens une erreur d'exception:
0x77846B6E (ntdll.dll) OperatorString.exe: 0xC00000FD: débordement de Pile (Paramètre: 0x00000001, 0x01202FC4)
Aucune idée de pourquoi j'obtiens une erreur d'exécution lors de commenter #include <string>
? Je suis l'aide de VS 2013 Express.