<分区>
我有一个结构,其中包含几个字符串。
struct item {
string item_name;
int item_property_1;
double item_property_2;
}
稍后我初始化它们:
item item1;
item1.item_name = "Name of Item";
item1.item_property_1 = 5;
item1.item_property_2 = 10.0;
如果我注释掉分配字符串的行,它运行正常。使用字符串分配,它会崩溃。我不知道为什么。
我现在已经注释掉了所有其他函数的内容,试图找出可能导致建议损坏的原因,但它仍然崩溃。我只剩下一个包含几个字符串和数字的结构,如果我为其中任何一个字符串赋值,它就会崩溃。
什么会导致腐败?
edit 根据请求添加最少量的导致崩溃的实际代码。省略注释掉的部分。
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;
}
剩下的就是这些了。我只包括 int 来测试和验证为其分配一个值是否正常,只要字符串被注释掉它就可以。在结构中使用任何字符串都会导致崩溃。
我在那里不需要它们。我目前没有使用这些字符串,我将它们放在结构中是因为我打算稍后使用它们,但没有它们我也可以实现相同的目的。现在我只想了解原因。