【问题标题】:Too few arguments error, but passing in enough arguments?参数太少错误,但传入足够的参数?
【发布时间】:2020-02-24 06:21:32
【问题描述】:

这是我的代码。我看不到哪里出错了:

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)

我可能遗漏了一些明显的东西,但我真的看不到它。一些帮助将不胜感激。谢谢!

【问题讨论】:

  • TopPre(char * filename,t->l,char * arr,FILE * fp); 这不是你调用函数的方式!!
  • 为这个极其浪费的问题道歉。也很抱歉浪费您的时间。

标签: c arrays recursion arguments


【解决方案1】:

在你的代码中

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

不是函数调用的有效语法,您不需要数据类型,只需要参数。

改成类似

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

假设论点是适当的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-22
    • 1970-01-01
    • 2010-12-16
    • 2018-04-22
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    相关资源
    最近更新 更多