C++的下一个函数有什么问题
What is wrong in the next function of C++
我的目标是接受 3 个数字,然后将它们从小到大排序,我似乎一切都井井有条,一切顺利,但我的打印语句只打印了两次相同的东西,是因为我在写无效错了吗?这是它的样子,如果您需要更多代码,请告诉我:
int output1 = First;
int output2 = Second;
int output3 = Third;
void sort3(int output1,int output2,int output3); // Send to the sorting void.
虚空:
void sort3(int &output1, int &output2, int &output3){
void sort2(int output1, int output2);
if (output1 > output3) {
Swap(output1, output3);
}
if (output2 > output3) {
Swap(output2, output3);
}
cout << output1 << "" << output2 << "" << output3 << "voided statement" << endl;
return;
}
void sort2(int output1, int output2){
if (output1 > output2)
Swap(output1, output2);
return;
}
void Swap(int &x, int &y) {
int temp = x;
x = y;
y = temp;
return;
}
我的印象是发送一些东西,你只需输入 voids 名称和你要发送的内容在括号中,但每当我这样做时,我都会出错。
好的,我明白了。您没有在此处调用函数:
void sort3(int output1,int output2,int output3); // Send to the sorting void.
声明函数sort3
。它实际上并没有使用该功能。要使用它,您需要像这样调用它:
sort3(output1, output2, output3);
同样,在 sort3
中你需要调用 sort2
而不仅仅是声明它:
sort2(output1, output2);
您还需要更改sort2
以获取引用参数,否则它只会对它的局部变量进行排序,而不是对您传递给它的局部变量进行排序。 sort3
你做对了,但 sort2
.
不对
1) 您必须更改 sort2
方法以通过引用获取值才能正常工作,即您必须更改
void sort2(int output1, int output2)
到
void sort2(int &output1, int &output2)
2) 当您尝试调用函数时,您必须删除 return 类型(即 void
)和变量类型限定符(即 int
) - 否则您是声明它,而不是调用它。
我的目标是接受 3 个数字,然后将它们从小到大排序,我似乎一切都井井有条,一切顺利,但我的打印语句只打印了两次相同的东西,是因为我在写无效错了吗?这是它的样子,如果您需要更多代码,请告诉我:
int output1 = First;
int output2 = Second;
int output3 = Third;
void sort3(int output1,int output2,int output3); // Send to the sorting void.
虚空:
void sort3(int &output1, int &output2, int &output3){
void sort2(int output1, int output2);
if (output1 > output3) {
Swap(output1, output3);
}
if (output2 > output3) {
Swap(output2, output3);
}
cout << output1 << "" << output2 << "" << output3 << "voided statement" << endl;
return;
}
void sort2(int output1, int output2){
if (output1 > output2)
Swap(output1, output2);
return;
}
void Swap(int &x, int &y) {
int temp = x;
x = y;
y = temp;
return;
}
我的印象是发送一些东西,你只需输入 voids 名称和你要发送的内容在括号中,但每当我这样做时,我都会出错。
好的,我明白了。您没有在此处调用函数:
void sort3(int output1,int output2,int output3); // Send to the sorting void.
声明函数sort3
。它实际上并没有使用该功能。要使用它,您需要像这样调用它:
sort3(output1, output2, output3);
同样,在 sort3
中你需要调用 sort2
而不仅仅是声明它:
sort2(output1, output2);
您还需要更改sort2
以获取引用参数,否则它只会对它的局部变量进行排序,而不是对您传递给它的局部变量进行排序。 sort3
你做对了,但 sort2
.
1) 您必须更改 sort2
方法以通过引用获取值才能正常工作,即您必须更改
void sort2(int output1, int output2)
到
void sort2(int &output1, int &output2)
2) 当您尝试调用函数时,您必须删除 return 类型(即 void
)和变量类型限定符(即 int
) - 否则您是声明它,而不是调用它。