我正在努力通过跳转到C++,我刚刚到达指针部分,因此,我的第一面墙.我正试图解决这个问题:
问题13.4
编写一个带有两个输入参数的函数,并为调用者提供两个单独的结果,一个是两个参数相乘的结果,另一个是添加它们的结果.由于您只能直接从函数返回一个值,因此您需要通过指针或引用参数返回第二个值.
我真的不明白这个问题.我需要编写一个函数,例如:
int function(int x, int y){
int addition = x + y;
int multi = x * y;
}
Run Code Online (Sandbox Code Playgroud)
但是,因为我不完全理解我不知道如何适应指针的问题.如果有人能为我愚蠢,我将不胜感激.
谢谢你的时间!
你可以试试
int functionPtr(int x, int y? int* addition) {
// As JustSid mentioned in the comment, it would be good to check the pointer first
if (addition) {
*addition = x + y;
}
return x * y;
}
Run Code Online (Sandbox Code Playgroud)
要么
int functionRef(int x, int y? int& addition){
addition = x + y;
return x * y;
}
Run Code Online (Sandbox Code Playgroud)
而当你想打电话给他们
int x = 1;
int y = 2;
int addition1 = 0;
int multi = functionPtr(x, y, &addition1);
int addition2 = 0;
int multi = functionRef(x, y, addition2);
Run Code Online (Sandbox Code Playgroud)