c++吗?为什么值不改变
C++ ? Why the value does not change ?
我刚刚学会了如何使用这个运算符:->,我试着创建一些练习项目,这样我就能记住它,熟悉它。我创建了一个程序,输入我的生命值,然后使用->操作符治疗(添加生命值)。但是当我运行程序时,我的生命值保持在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);
相关文章:
- 为什么字符串的 move() 会改变内存中底层数据的位置?
- 为什么 c++ 动态数组的大小没有改变?
- 为什么提升图库的 read_graphviz() 函数会改变节点的索引
- 为什么 GCC 不能假设 std::vector::size 在这个循环中不会改变?
- 为什么我的函数接受"std::string"进行排序不会改变它?
- 为什么切换 for 循环的顺序会显著改变执行时间?
- 如果没有重新散列,为什么 unordered_set::begin() 会改变?
- 为什么我可以改变常量对象中的成员变量,这是返回常量对象函数的结果?
- 为什么打印"OK"会改变输出?
- 为什么使用 2 个嵌套循环 O(n^2) 复杂度来解决二和问题,当只改变循环计数器逻辑时运行得更快?
- 解释为什么第二次分配会改变性能
- 为什么Qt QString的替换方法会改变QString?
- 为什么当条件为真时 x 的值没有改变?
- 为什么左值不能改变自己。左值用户是什么意思?
- 为什么不同的整数声明会改变结果?
- 为什么当我改变光源的位置时,光源不移动?
- 使用 String.resize() 后,为什么字符串的大小没有改变?
- 为什么我的函数不改变对象的属性
- 为什么我的Qt小部件的焦点被改变了?
- 为什么像素不改变颜色