【问题标题】:Expected expression before ']' token?']' 标记之前的预期表达式?
【发布时间】:2012-10-13 13:23:29
【问题描述】:

我有以下行将参数args[]length 发送到一个名为largest 的方法。

  printf("Largest is: %d \n", largest(args[], length));

当我尝试运行它时,我收到以下错误:

error: expected expression before ']' token

【问题讨论】:

    标签: c


    【解决方案1】:

    因为您需要在运算符方括号之间放置一个整数,否则不要指定方括号:

    printf("Largest is: %d \n", largest(&args[0], length));
    

    printf("Largest is: %d \n", largest(args, length));
    

    请记住,args[0]*(args + 0) 相同,但 args[] 会出错,因为它需要一个数字来求和...

    【讨论】:

      【解决方案2】:
       printf("Largest is: %d \n", largest(args, length));
      

      只需删除 '[]',因为 args 是一个指针,而这正是函数所期望的。

      【讨论】:

        【解决方案3】:

        您可能只需要数组的指针,因此请传入largest(args, length)

        【讨论】:

          【解决方案4】:

          你不能传递这样的数组。您必须将指针传递给数组(第一项):

          printf("Largest is: %d \n", largest(args, length));
          

          【讨论】:

            猜你喜欢
            • 2012-10-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-29
            相关资源
            最近更新 更多