c++;错误:与‘;不匹配;运算符-=’; 我对C++比较陌生。作为一个项目,我正在重写我用python编写的一个小游戏(我从未让它正常工作)。在编译过程中,我遇到以下错误:错误:与“operator-=”不匹配 我知道这个操作符存在于C++中,那么为什么我会得到这个错误?< /P>
代码:c++;错误:与‘;不匹配;运算符-=’; 我对C++比较陌生。作为一个项目,我正在重写我用python编写的一个小游戏(我从未让它正常工作)。在编译过程中,我遇到以下错误:错误:与“operator-=”不匹配 我知道这个操作符存在于C++中,那么为什么我会得到这个错误?< /P>,c++,compiler-errors,operators,C++,Compiler Errors,Operators,代码: void rpg(){ cout-psg; 开关(psg){ 案例1: m=“巨魔”; mhp=80; 打破 案例2: m=“地精”; mhp=35; 打破 案例3: m=“龙”; mhp=120; } 库塔; 如果(wa==“火焰斜线”){ 原因是没有操作符-=。有+=,它附加到现有字符串,但是操作符-=的语义不清楚 除了这个明显的问题外,dgnrd函数的参数类型与您传递给它的参数类型不匹配。原因是没有操作符-=。有+=,它附加到现有字符串,但是操作符-=的语义不清楚 除了这个明显的问
void rpg(){
cout-psg;
开关(psg){
案例1:
m=“巨魔”;
mhp=80;
打破
案例2:
m=“地精”;
mhp=35;
打破
案例3:
m=“龙”;
mhp=120;
}
库塔;
如果(wa==“火焰斜线”){
原因是没有操作符-=
。有+=
,它附加到现有字符串,但是操作符-=
的语义不清楚
除了这个明显的问题外,dgnrd
函数的参数类型与您传递给它的参数类型不匹配。原因是没有操作符-=
。有+=
,它附加到现有字符串,但是操作符-=
的语义不清楚
除了这个明显的问题外,dgnrd
函数的参数类型与您传递给它的参数类型不匹配。您似乎在字符串上运行-=运算符,而不是int。mhp
是一个字符串,因此以下语句导致编译错误:
mhp -=
您似乎在字符串上运行-=运算符,而不是int。mhp
是string
,因此以下语句导致编译错误:
mhp -=
在dgn()
int mhp;
这是合理的,因为它是一个数字量
但是你的helper函数声明
string mhp
在参数列表中,这应该导致函数调用中实际参数和形式参数之间的类型不匹配错误
dgnrd(m, mhp, whp, mahp, hhp);
将其修复到int&mhp
,几个问题将立即消失
请注意,创建引用的&
。这使函数与其调用方共享变量,以便对调用方的副本进行更改。否则(在传递值中)函数返回时,函数内部的所有更改将消失。在dgn()
中,您必须
int mhp;
这是合理的,因为它是一个数字量
但是你的helper函数声明
string mhp
在参数列表中,这应该导致函数调用中实际参数和形式参数之间的类型不匹配错误
dgnrd(m, mhp, whp, mahp, hhp);
将其修复到int&mhp
,几个问题将立即消失
请注意,创建引用的&
。这使函数与其调用方共享变量,以便对调用方的副本进行更改。否则(在传递值中)函数返回时,函数内部的所有更改都将消失。元音。不要害怕它们。元音。不要害怕它们。