如何增加函数中 x 的值?
How can i increase value of x in function?
>C++ 程序: -我知道在函数定义中,x 没有传递,所以它会收到错误消息,但我想增加函数,那我该怎么办?
#include <iostream>
using namespace std;
fun(int& p)
{
cout << p;
x++;
}
int main()
{
int x = 15;
int c = 1;
fun(c);
cout << x;
return 0;
}
变量x
的值对于fun()
是未定义的,你应该阅读一本基础知识书。
如果您只想操作相同的变量,唯一的方法是使用引用变量作为参数,然后您可以直接修改其原始值。
程序的改进版本,用于访问和操作数据:
#include <iostream>
void fun(int &, int &);
int main(void) {
int x = 15;
int c = 1;
fun(c, x); // c is printed "1" and x increments with 1
std::cout << x << std::endl; // new value of x prints
return 0;
}
void fun(int & p, int & x) {
std::cout << p << std::endl;
x++; // increments original x
}
注意:或者,您可以通过将它们放在所有函数之外和标头声明下方来在全局范围内声明所需的变量,以便它们对整个程序可见,但请记住,您必须使用引用来更改整个程序的变量值。
您可以将x
设置为全局变量,也可以将其传递给函数。fun(int &p, int &x)
,然后从main
调用它。
相关文章:
- 指针没有更新它在void函数内部指向的值
- 获取从C++中同一类中的构造函数调用的方法返回的值
- 为什么在我的函数类型后使用引用运算符 (&) 允许我修改它返回的值?
- 为什么glGetSubroutineIndex为不同的函数返回相同的值?
- 使用基类指针调用基类的值构造函数的语法是什么?
- 数组初始值设定项的构造函数歧义
- 局部变量保留函数中的值
- 为什么我不能在返回 const 的布尔函数中为类成员变量赋值?C++
- 字符串函数返回奇怪的值
- 此递归函数的每次迭代的值存储在哪里?
- VkSurfaceKHR 指针的值在函数调用后更改,无需任何显式赋值
- 从模板创建通用打印函数,以打印基元数据类型变量的值
- 如何在函数外部访问函数中局部变量的值?
- 采用初始值设定项列表的构造函数
- 为什么我的虚函数不赋值?
- 为什么 ComPtr 的函数返回不同的值,然后 &?
- 双链表的擦除值函数,未知错误
- 类函数返回到另一个类函数返回打印不同的值
- 如何读取指针的值,因为这个指针是函数的返回?
- 专门C++使用指针值类型的通用迭代器的模板函数?