C++ I';“我得到了错误”;Pokemon.cpp:11:18:错误:无法调用成员函数‘;int Dice::roll()’;“无对象”; 口袋妖怪战斗模拟器

C++ I';“我得到了错误”;Pokemon.cpp:11:18:错误:无法调用成员函数‘;int Dice::roll()’;“无对象”; 口袋妖怪战斗模拟器,c++,C++,我正在制作一个简单的战斗模拟器。它将能够接收HP、攻击lv和防御lv的用户输入 Pokemon::Pokemon() { healthPoints = attackL = defL=0; std::string Pname= ""; d20=Dice(20); d6=Dice(6); 我有4个文件Pokemon.h,Pokemon.cpp,Dice.h,Dice.cpp。Pokemon头文件包含 #include <iostream> #include &l

我正在制作一个简单的战斗模拟器。它将能够接收HP、攻击lv和防御lv的用户输入

Pokemon::Pokemon() {
healthPoints = attackL = defL=0;
    std::string Pname= "";
    d20=Dice(20);
    d6=Dice(6);
我有4个文件Pokemon.h,Pokemon.cpp,Dice.h,Dice.cpp。Pokemon头文件包含

#include <iostream>
#include <string>
#include "Dice.h"


class Pokemon {

    private:
        int healthPoints, attackL, defL;
        #include <iostream>
std::string Pname;
        Dice d20;
        Dice d6;

    public:
        Pokemon();
        bool attack(Pokemon& opponent);
        void userBuild();
} ;
我得到一个错误“Pokemon.cpp:13:10:error:expected-unqualified-id在'bool'之前”

这是关于“布尔攻击”应该做什么的说明

布尔攻击(口袋妖怪和对手)

使用d20为和攻击加成和防御加成掷随机值 如果攻击者的攻击等级+攻击加成大于防御者的>>防御等级+防御加成,则掷骰造成伤害。否则,攻击将失败 如果攻击着陆,掷三个d6,加起来,这就是伤害 显示示例运行中反映的所有攻击信息 仅当对手因攻击而死亡时返回true,否则返回false


实现成员函数的语法是

bool Pokemon::attack(Pokemon& opponent){
...
}

我改变它,现在它返回error>Pokemon.cpp:13:6:error:bool Pokemon::attack()的原型与“Pokemon”bool Pokemon::attack()类中的任何原型都不匹配。{^Pokemon.h:17:8:error:candidate is:bool Pokemon::attack(Pokemon&)bool attack(Pokemon&oppost);^编译失败。@rubito,因为头文件中的声明声明了一个参数。@Radiodef您能解释/展开吗?会不会'bool Pokemon::attack(Pokemon&oppost){}工作?是的,很有效!谢谢@Radiodef。你们能告诉我如何使用random Dice::roll类为骰子分配一个随机值以分配攻击奖金吗?@rubito:在网上搜索“c++随机骰子”
bool Pokemon::attack(Pokemon& opponent){
...
}