Слишком мало аргументов, но достаточно аргументов? - PullRequest
0 голосов
/ 24 февраля 2020

Вот мой код. Я не вижу места, где я ошибаюсь:

141 void TopPre (char * filename, TNode * t,char * arr,FILE * fp)
142 {
143   if (t == NULL)
144   {
145     return;
146   }
147
148
149   TopPre(char * filename,t->l,char * arr,FILE * fp);
150   if (t->val == '0')
151   {
152     TopHelp(arr[0],filename,fp);
153   }
154   else
155   {
156     arr[0] = '1';
157     TopHelp(arr[0],filename,fp);
158     arr[0] = t->val;
159     TopHelp(arr[0],filename,fp);
160   }
161
162   TopPre(char * filename,t->r,char * arr,FILE * fp );
163   if (t->val == '0')
164   {
165     TopHelp(arr[0],filename,fp);
166   }
167   else
168   {
169     arr[0] = '1';
170     TopHelp(arr[0],filename,fp);
171     arr[0] == t->val;
172     TopHelp(arr[0],filename,fp);
173   }

Однако я получаю эту ошибку всякий раз, когда я звоню TopPre:

huffman.c:149:10: error: expected expression before ‘char’
   TopPre(char * filename,t->l,char * arr,FILE * fp);
          ^
huffman.c:149:10: error: too few arguments to function ‘TopPre’
huffman.c:141:6: note: declared here
 void TopPre (char * filename, TNode * t,char * arr,FILE * fp)
      ^
huffman.c:162:10: error: expected expression before ‘char’
   TopPre(char * filename,t->r,char * arr,FILE * fp );
          ^
huffman.c:162:10: error: too few arguments to function ‘TopPre’
huffman.c:141:6: note: declared here
 void TopPre (char * filename, TNode * t,char * arr,FILE * fp)

Я могу упустить что-то очевидное, но я серьезно не вижу этого. Некоторая помощь будет оценена. Спасибо!

1 Ответ

3 голосов
/ 24 февраля 2020

В вашем коде

 TopPre(char * filename,t->l,char * arr,FILE * fp);

недопустимый синтаксис для вызова функции, вам не нужны типы данных, только аргументы.

Измените его на что-то вроде

TopPre(filename, t->l, arr, fp);

при условии, что аргументы являются подходящими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...