C++如何让函数返回多个值供主函数调用?有多少种方法
2个回答
展开全部
有3种方法
1.在参数上下手
void foo(int& a,int& b) { a = 5; b = 6;}
void foo(int* p, int* q) { *p = 5; *q = 6;}
等等
2在返回值上下手
std::pair<int, bool> foo() { return std::pair<int, boo>(5, false); }
struct data
{
int a;
bool b;
}
data foo() { data d; d.a = 5; d.b = false; return d;}
3在函数内部下手
先定义一个全局变量
int a;
int b;
void foo()
{
a = 5;
b = 6;
}
1.在参数上下手
void foo(int& a,int& b) { a = 5; b = 6;}
void foo(int* p, int* q) { *p = 5; *q = 6;}
等等
2在返回值上下手
std::pair<int, bool> foo() { return std::pair<int, boo>(5, false); }
struct data
{
int a;
bool b;
}
data foo() { data d; d.a = 5; d.b = false; return d;}
3在函数内部下手
先定义一个全局变量
int a;
int b;
void foo()
{
a = 5;
b = 6;
}
展开全部
typedef TValue
{
int a;
int b;
};
int function(int a,int b,TValue &tvalue)
(
tvalue.a=a;
tvalue.b=b;
return 0;
)
int main()
{
int a=1,b=2;
TValue t;
memset(&t,0x0,sizeof(TValue);
function(a,b,t);
return 0;
}
一般使用结构体引用。类也行。
{
int a;
int b;
};
int function(int a,int b,TValue &tvalue)
(
tvalue.a=a;
tvalue.b=b;
return 0;
)
int main()
{
int a=1,b=2;
TValue t;
memset(&t,0x0,sizeof(TValue);
function(a,b,t);
return 0;
}
一般使用结构体引用。类也行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询