为什么我在实现Structures的C++程序中遇到错误?

Spa*_*rsh 0 c++ struct pass-by-reference

为什么我在实施这个程序时遇到错误?我在这里找不到任何错误.

#include <iostream>

using namespace std;

void exchange(point& p);

int main()
{
    struct point
    {
        int a, b;
    };

    point one = {1,2};

    exchange(one);
    cout << one.a << " , " << one.b;
    return 0;
}

void exchange(point& p)
{
    int temp;
    p.a = temp;
    p.a = p.b;
    p.b = temp;
}
Run Code Online (Sandbox Code Playgroud)

我也在另一个程序中遇到错误,它以类似的方式实现Structures.

Som*_*ude 6

point全局范围内没有符号,它只在main函数内部定义,而不是在函数内部main.

exchange原型中使用符号之前,在全局范围内定义结构.