我正在尝试将数组传递给此结构的函数:
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 []。 谢谢你的帮助。
答案 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);
}