c++一个函数怎么调用另一个函数中的参数?

例如:voida(){intp;cin>>p;}voidb(){cout<<p:}... 例如:
void a()
{
int p;
cin>>p;
}
void b()
{
cout<<p:
}
展开
 我来答
帐号已注销
2013-07-13 · TA获得超过163个赞
知道答主
回答量:74
采纳率:0%
帮助的人:74.5万
展开全部
  如果另一个函数中的参数是该函数的动态局部变量,那是不可能的,除非想点其他办法,比如说跟踪该局部变量生成的地址,并且在该局部变量的生存期内调用。但是这样我不知道有什么意义。
  如果另一个函数中的参数的变量是函数的局部静态变量static,那么也可以,不过得想点办法。那就是跟踪该静态变量初始化时的地址。由于静态变量都在全局数据区分配内存,不管是全局的还是局部的。那么只要找到其初始化时的地址就可以了,到时候直接在函数内操作这个变量的内存地址。
  如果另一个函数中的参数的变量不一定是局部变量的话,那么你可以定义为全局变量,这样的话就可以操作了。上面两种方式,我不知道有什么意义,除非搞crack的。
cdyzxy
推荐于2017-09-30 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.4万
采纳率:85%
帮助的人:4589万
展开全部
一个函数,就象你的函数a其中的变量只在函数被调用时才生成和起作用,函数执行结束,变量p就失效了,所以它的值无法在函数执行后被保存。
如果想在函数执行结束后还能保存,需要在变量定义前加个“静态”的修饰,如:static int p;但这还是不能被函数以外的语句直接访问。
那么就需要将函数的值想办法传出来,或者直接将p的定义提到函数外成为全局变量。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韧劲9
推荐于2017-09-29 · TA获得超过9226个赞
知道小有建树答主
回答量:1638
采纳率:92%
帮助的人:429万
展开全部
{

public:

A()

{

printf("In A::(). m_x=%d\n", m_x);

A(0);

printf("Out A::(). m_x=%d\n", m_x);

}

A(int x)

{

printf("In A::(int x). x=%d\n", x);

m_x=x;

}

private:

int m_x;

};

这里第11行的调用A(0);只是构建了一个A的临时对象,并没有调用A(int x)来初始化自己。其运行结果是:

点击(此处)折叠或打开
[root@tivu25 utcov]# ./UTest.out
In A::(). m_x=4268020
In A::(int x). x=0
Out A::(). m_x=4268020

可以看到尽管调用了A(0),m_x仍然没有改变,是4268020.
正确的方法是使用placement new:

点击(此处)折叠或打开
//A.h

#ifndef _A_H_

#define _A_H_

#include <stdio.h>

#include <new>

class A

{

public:

A()

{

printf("In A::(). m_x=%d\n", m_x);

new(this) A(0);

printf("Out A::(). m_x=%d\n", m_x);

}

A(int x)

{

printf("In A::(int x). x=%d\n", x);

m_x=x;

}

private:

int m_x;

};

#endif
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nl900324
2013-07-13 · 超过16用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:42.2万
展开全部
如果是一般函数,不能这么用,你可以把p定义为全局变量,就可以用。如果是c++,将这2个函数定义为成员函数,p为成员变量,也可以用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
思蟹一0b
2013-07-13 · TA获得超过1301个赞
知道小有建树答主
回答量:1208
采纳率:100%
帮助的人:673万
展开全部
可以全局变量,或是用返回值,共用指针,对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式