函数参数中的结构C++数组根本不起作用

Struct C++ array in function parameters not working at all

本文关键字:数组 不起作用 C++ 结构 参数 函数      更新时间:2023-10-16

你好,我必须使用一个结构数组来执行一个程序。。我必须在函数中初始化它。下面我正在尝试,但我的原型不断出现错误"预期的主表达式"。。我已经学习了教程,但不知道我做错了什么,请帮帮我。我不能使用指针或矢量。。只是基本的东西谢谢你的时间

struct gameCases{
bool flag = false;
int casenum;
double value;
};
 int initialize(gameCases cases);  //prototype

---main()

gameCases cases[26];
initialize(cases);    //call

int initialize(gameCases cases)  //definition
{
double values[26] = {.01, 1, 5, 10, 25, 50,
                75, 100, 200, 300, 400, 500, 750, 1000,
                5000, 10000 , 25000, 50000, 75000, 100000,
                200000 , 300000, 400000, 500000,
                1000000, 2000000};
for (int i = 0; i < 26; i++)
{
    array[i].value = values[i];
}
}

像一样声明函数

int initialize( gameCases *array, size_t n );  

并称之为

initialize( cases, 26 );    

或者可以通过引用传递数组。例如

int initialize( gameCases ( &cases )[26] );

请注意,函数被声明为返回类型为int,但实际不返回任何内容。

int initialize(gameCases cases[26]);  //prototype
int initialize(gameCases cases[26])  //definition
{
    double values[26] = {.01, 1, 5, 10, 25, 50,
            75, 100, 200, 300, 400, 500, 750, 1000,
            5000, 10000 , 25000, 50000, 75000, 100000,
            200000 , 300000, 400000, 500000,
            1000000, 2000000};
    for (int i = 0; i < 26; i++)
    {
        cases[i].value = values[i];
    }
}

和呼叫:

initialize(cases);