gpt4 book ai didi

C++ 角色扮演游戏错误 : data member initializer is not allowed

转载 作者:行者123 更新时间:2023-11-30 05:37:56 26 4
gpt4 key购买 nike

这已经发布了好几次了,但是没有一次能回答我的问题。请帮助我解决出现在等号下的“错误:不允许数据成员初始值设定项”。这是有问题的代码。

//Player.cpp :Contains information about the player
#include <iostream>
#include <string>
#include "Main.cpp"
using namespace std;

void Player()
{
struct Player {
int Charma = 0;
unsigned int Hunger = 10;
unsigned int Energy = 50;
unsigned int Health = 100;
};
enum Race {
UNKNOWN,
DEAD,
HUMAN,
ORC,
GOBLIN,
ELF,
LIZARD,
CAT,
VAMPIRE,
WEREWOLF,
SNK
};
}

最佳答案

您收到该错误是因为您在声明 struct 时正在初始化变量。这是不允许的。相反,将初始化移动到结构的构造函数中。

然而,这并不是您代码中的唯一错误。您正在 Player 函数(应该是构造函数)内部定义 struct。您需要切换它们,以便在 Player 结构中拥有 Player 函数。这样结构将有一个构造函数,您可以在其中初始化值。另一件事,不要 #include .cpp 文件。这是一种不好的做法。

你的代码应该是这样的:

struct Player {
int Charma;
unsigned int Hunger;
unsigned int Energy;
unsigned int Health;

Player() : Charma(0), Hunger(10), Energy(50), Health(100)
{
// do other constructor stuff here
}
};

关于C++ 角色扮演游戏错误 : data member initializer is not allowed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33049985/

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