我是C++的新手,我不知道为什么我不能发送parking作为参数。这是我第一次使用struct,所以也许我忘记了一些东西。我曾尝试将地址发送到 parking 场,但出现错误。

const int MAX_TAB = 10;

struct bike
{
    int Number;
    string Type;
};
bike ReadFile(bike parking[]);
int void main()
{
    bike parking[MAX_TAB];
    ReadFile(parking[MAX_TAB]); // This line is incorrect
}

bike ReadFile(bike parking[])
{
...
return parking[MAX_TAB];

}

为什么这不起作用?我该如何运作呢?
谢谢

最佳答案

传递数组时,请勿添加[]。
CPP.SH上使用C++ 14编译

// dependecies
#include <iostream>
#include <string>
#include <fstream>

// namespace for string
using std::string;

// defined max tab for array
const int MAX_TAB = 50;

// structure definition
struct bike
{
    int Number;
    string Type;
    string Test;
    int Km;
    int Stage;
};

// ReadFile(...) signature
bike ReadFile(bike *, size_t);

int main()
{
  bike parking[MAX_TAB]; //instantiate array of bike object
  ReadFile(parking, MAX_TAB);  //only pass the array itself, not the array[
}

// parameters are array* and size
bike ReadFile(bike parking[], size_t size)
{
    return *parking; //reference the array
}

10-06 03:55