c++初学者错误,家庭作业

c++ beginner errors, homework

本文关键字:家庭作业 错误 初学者 c++      更新时间:2023-10-16

我的代码中不断出现这两个错误

In函数'int main()':错误:从类型为"int"的临时文件初始化类型为"int&"的非常量引用无效错误:传递"void swapInt(int&,int&)"的参数1时出错

但我真正的问题是swapInt。我需要记2分然后用它们的参数切换它们的值,所以曾经的a现在是b曾经的b现在变成了a。请帮帮我!

void swapInt (int &a, int &b);
int main() {
    int a = 1;
    int b = 2;
    swapInt(1, 2);
    cout << a << " " << b;
    return 0;
}
void swapInt (int &a, int &b) {
    int c = a;
    a = b;
    b = c;
    //cout << a << " " << b;
}

您的函数使用变量的地址,但您传递的是数字常量。您需要传入以下变量:

void swapInt (int &a, int &b);
int main() {
    int a = 1;
    int b = 2;
    swapInt(a, b);
    cout << a << " " << b;
    return 0;
}
void swapInt (int &a, int &b) {
    int c = a;
    a = b;
    b = c;
    //cout << a << " " << b;
}

您已经将函数声明为"pass-by-reference",因此在调用函数时它需要一个变量。

不能将整数值传递给通过引用获取参数的函数。