Pourquoi ne mettre une chaîne de caractères dans une struct provoquer un plantage?

J'ai une structure qui contient, entre autres choses, un couple de chaînes.

struct item {
    string item_name;
    int item_property_1;
    double item_property_2;
}

Plus tard, j'ai initialiser:

item item1;
item1.item_name = "Name of Item";
item1.item_property_1 = 5;
item1.item_property_2 = 10.0;

Si je commente la ligne de l'affectation de la chaîne, il fonctionne très bien. Avec l'affectation de chaîne, il se bloque. Je n'ai aucune idée pourquoi.

J'ai maintenant commenté le contenu de toute autre fonction que d'essayer de suivre ce que pourrait être la cause de l'suggéré la corruption, et il se bloque toujours. Je suis pour une struct avec quelques chaînes et des nombres, et si j'attribue une valeur à l'une des chaînes qu'il se bloque.

Quelle est la cause de la corruption?

modifier l'Ajout, à la demande, de la plus petite quantité de code qui provoque un plantage. Commenté sections sont omis.

struct player_c {
        string advClass;
        int role;
};

player_c shadow;

Shadow::Shadow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::Shadow)
{
    ui->setupUi(this);
    shadow.advClass = " ";
    shadow.role = 1;
}

C'est tout ce qui reste. J'ai seulement compris l'int de tester et de vérifier que l'attribution d'une valeur a bien fonctionné, et aussi longtemps que la chaîne est commenté qu'il fait. Toute utilisation de chaînes dans la structure provoque un blocage.

Je n'ai pas BESOIN d'eux. Je ne suis pas actuellement à l'aide de ces chaînes, je les ai mis dans la struct parce que j'ai l'intention de les utiliser plus tard, mais je peux accomplir le même but sans eux. Droit maintenant, je veux juste comprendre pourquoi.

Vous n'avez pas le temps de compilation des erreurs et le programme se bloque au moment de l'exécution?
le problème doit être ailleurs.
Probablement le crash est pas causés par cette ligne, quelque chose d'autre dans votre code écrit des ordures sur le item1 emplacement de mémoire.
Vous pouvez poster la plus petite quantité de code qui reproduit le crash?
J'ai un problème similaire, semble string est non initialisée gist.github.com/2639351

OriginalL'auteur RuQu | 2012-03-16