使用引用使函数在c ++中返回多个值

时间:2014-07-07 14:07:48

标签: visual-c++

我写了一个代码来使用references来计算圆的面积和周长。我收到的错误消息为 “未解析的外部符号”void c_decl circle“”AND “未解决的外部”和 “多个重载函数实例” 我已经给出了以下代码

#include<stdafx.h>
#include<iostream>
void circle(int,float,float);
using namespace std;
int main()
{
    int r;
    float a=0.0,c=0.0;
    cout<<"Enter the radius:"<<endl;
    cin>>r;
    circle(r,a,c);
    cout<<a<<"\t"<<c<<endl;
    return 0;
}
void circle(const int &i,float &j,float &k)
{
    j=3.14*i*i;
    k=2*3.14*i;
}

请帮忙。谢谢

1 个答案:

答案 0 :(得分:0)

这可能就是你想要的。

Circle函数需要在main方法之上,以便编译器在您调用它时知道它存在。 Circle函数的j和k参数是点。指针用&#39; &#39;声明。 。 &#39; &#39;也用于从指针获取值。

circle(r,&amp; a,&amp; c),此方法接受a和c的存储位置。然后将存储器位置提​​供给指针。 &amp;获取内存位置,而*获取实际值。

无论如何它似乎都是这样工作的。

#include<iostream>
void circle(int,float,float);
using namespace std;
void circle( int i,float *j,float *k)
{
    float s;
    *j=3.14*i*i;
    *k=2*3.14*i;
}

int main()
{
    int r;
    float a=0.0,c=0.0;
    cout<<"Enter the radius:"<<endl;
    cin>>r;
    circle(r,&a,&c);
    cout<<a<<"\t"<<c<<endl;
    return 0;
}