2014-12-30 2 views
0

У меня проблема ...слишком много аргументов в функцию «» на данный момент в файле

ошибка: слишком много аргументов для функции «EPJ известковы»
ошибки: в данный момент в файле

Этот код отлично работает, если я сокращаю число переменных до 6 вместо 11 во всем процессе. Может ли кто-нибудь объяснить, почему и как это сделать? В согласии я должен повторить процесс 10 раз.

void loop() 
    { 
    calc(&person[cc].reacTime[0], &person[cc].reacTime[1], &person[cc].reacTime[2], 
      &person[cc].reacTime[3], &person[cc].reacTime[4], &person[cc].reacTime[5], 
      &person[cc].reacTime[5], &person[cc].reacTime[6], &person[cc].reacTime[7], 
      &person[cc].reacTime[8], &person[cc].reacTime[9], &person[cc].midvaerdi); 
    Serial.print("Average time for person "); 
    Serial.print(cc); 
    Serial.print(" "); 
    Serial.println(person[cc].midvaerdi); 
    } 

    struct EPJ calc(float *num1,float *num2,float *num3,float *num4, 
        float *num5,float *num6,float *num7,float *num8, 
        float *num9,float *num10, 
        float *midval) 
    { 
      float temp; 
    temp = (*num1 + *num2 + *num3 + *num4 + *num5 + 
       *num6 + *num7 + *num8 + *num9 + *num10); 
    Serial.print("Temp number : "); 
    Serial.println(temp); 
    *midval = (temp)/nRepeat; 
    Serial.print("midval number : "); 
    Serial.println(*midval); 
    } 
+0

Есть ли у вас переднее объявление функции 'struct EPJ calc()'? Кроме того, '& person [cc] .reacTime [5],' присутствует дважды !!! –

ответ

2

Похоже вы вызываете известково с 12 аргументами, но он определен прием только 11.

1

Это выглядит как простой опечатка ошибка при вызове calc(). Вы поставили &person[cc].reacTime[5] дважды в качестве параметра.

Смежные вопросы