从c ++自制函数中提取信息

时间:2016-09-13 15:48:05

标签: c++ function pointers memory-address

我刚刚开始广告我的学习,并且在一周前被介绍给c ++,我发现了令我恼火的东西:我有这样的基本代码

double a,b,c;

cout<<"please add in your values"<<endl;;
cout<<"a :";cin>>a;
cout<<"b :";cin>>b;
cout<<"c :";cin>>c;cout<<"\n";

dis(a,b,c);

return 0;

现在我还创建了一个函数(名称为dis),看起来像这样

void dis(double a,double b, double c){
double d;
double* p=&d;

d=(pow(b,2))-(4)*(a*c);
cout<<"result: "<<d;

cout<<*p;}

现在我知道如何实现我的结果 - 但它必须完成的方式让我紧张 - 所以我想创建一个指针,以便我可以抢夺值的地址并创建一个新的int等于存储在地址

上的值

现在我的问题
如果我知道任何值的地址,那么我如何从我的“主”中引用它,以便我可以创建一个包含答案的int,而不是像正常那样做?

我希望你知道我的意思:D

1 个答案:

答案 0 :(得分:2)

你不能只是抓住记忆并希望别人知道它!

从函数传回数据的常规方法是通过其返回值。您的返回类型目前为void(无返回值)。如果您改为编写double dis(...,则可以在return d;的末尾撰写dis

main中,您可以编写std::cout << "dis returned " << dis(a,b,c);