gpt4 book ai didi

c++ - 程序意外结束

转载 作者:搜寻专家 更新时间:2023-10-31 00:19:56 26 4
gpt4 key购买 nike

无论出于何种原因,我的执行程序都无法正常运行。

#include <QtCore/QCoreApplication>
#include <tinyxml/tinyxml.h>
#include "classowner.h"
#include "character.h"

int main(int argc, char *argv[])
{
Character * holland = new Character("Holland", HUMAN, MALE);
delete &holland;
std::cout << "Hello, World!" << std::endl;

return 0;
}

我所有的输出状态都是程序无法正常执行。输出不显示,但是当我不分配对象时,它会显示。显然,它是对象。我做错了什么?

更新

看起来问题可能不仅仅是删除和分配内存。因此,我将发布 Character 类背后的实现。

标题:

#include <iostream>
#ifndef CHARACTER_H
#define CHARACTER_H

enum Race {HUMAN, DARK_ELF};
enum Gender {MALE, FEMALE};
class Character
{
public:
Character();
Character(std::string char_name, Race char_race, Gender char_gender);
~Character();

int get_id() { return this->char_id; }
std::string get_name() { return this->name; }
Race get_race() { return this->race; }
Gender get_gender() { return this->gender; }

private:
int char_id;
static int * char_count;
std::string name;
Race race;
Gender gender;
};



#endif // CHARACTER_H

//来源:

#include "character.h"
#include <iostream>

int * Character::char_count = 0;

Character::Character()
{
this->char_id = *char_count;
char_count++;
}

Character::Character(std::string char_name, Race char_race, Gender char_gender)
{
this->char_id = *char_count;
char_count++;
this->name = char_name;
this->race = char_race;
this->gender = char_gender;
}

Character::~Character()
{

}

最佳答案

delete &holland;

应该是

delete holland;

少一些脏话,我们将不胜感激。

另一方面,非常感谢发布一个简短的示例来简要说明问题。

关于c++ - 程序意外结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7171515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com