将结构数组传递给函数

时间:2016-04-09 13:55:36

标签: c++ arrays function

我正在尝试将数组传递给此结构的函数:

struct processData
{
    int arrivalTime;
    int durationTime;
    int completionTime;
    int turnAroundTime;
    int waitTime;
    int processNumber;
    float netTurnAroundTime;
} temp;


processData a[n];

find(a);

void find(struct processData a[])
{
int tempDurationTime[n];
int flag = 0;
int count = 0;
int currentProcess;
j = 0;
int timeQuantum = 5;
...

我收到的错误是没有匹配函数调用find(processData [n])。我不知道为什么我收到此错误,因为函数头采用struct processData a []。 谢谢你的帮助。

3 个答案:

答案 0 :(得分:0)

如果要在实际定义之前使用函数,则需要使用前向声明。

示例:

int blah();

int g = blah();

int blah()
{
    return 9;
}

答案 1 :(得分:0)

确保函数find在被调用之前被正确声明(即:确保正确包含声明函数的标题)

答案 2 :(得分:0)

find(a);`

实际上是一个函数调用而不是函数声明,这就是为什么你得到无匹配函数错误,因为你试图在定义/声明它之前调用函数。

试试这个:

struct processData
{
    int arrivalTime;
    int durationTime;
    int completionTime;
    int turnAroundTime;
    int waitTime;
    int processNumber;
    float netTurnAroundTime;
} temp;


processData a[n];

void find(struct processData a[])
{
int tempDurationTime[n];
int flag = 0;
int count = 0;
int currentProcess;
j = 0;
int timeQuantum = 5;
...
}

int main()
{
    find(a);
}
相关问题