我是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
}