c++吗?为什么值不改变

C++ ? Why the value does not change ?

本文关键字:改变 为什么 c++      更新时间:2023-10-16

我刚刚学会了如何使用这个运算符:->,我试着创建一些练习项目,这样我就能记住它,熟悉它。我创建了一个程序,输入我的生命值,然后使用->操作符治疗(添加生命值)。但是当我运行程序时,我的生命值保持在50(因为我将我的当前生命值设置为50)。

下面是我的代码:
#include <iostream>
using namespace std;
struct myhealth
{
    unsigned short my_health;
};
void addhealth(myhealth* addhealth)
{
    addhealth->my_health += 50;
};
int main()
{
    myhealth player;
    player.my_health = 50;
    cout << "My earlier health : " << player.my_health << endl;
    myhealth();
    cout << "My current health : " << player.my_health;
    cin.get()
    return 0;
}

您永远不会调用addhealth,因此该值永远不会被修改。

这行代码:

myhealth();

似乎写错了。相反,我认为你的意思是:

addhealth(&player);