得到错误“无法通过”

时间:2013-09-22 02:45:00

标签: c

#include <stdio.h>

void  message() ;
int main()
{
   message ( message ());
    return 0;
}
void message()
{
    printf("it is small");
}

我收到编译错误"void can't be pass"。它是什么意思,我该如何解决?

4 个答案:

答案 0 :(得分:2)

message ( message ());调用message(),然后将其返回值传递给另一个message()调用。这不起作用,因为正如错误消息所述,您无法将void结果传递给另一个函数(因为它实际上根本不是结果)。停止你正在做的事情,并考虑你真正希望代码做什么。

答案 1 :(得分:0)

message不会返回值。您不能在以下表达式中使用它:

message ( message ());

答案 2 :(得分:0)

message ( message ())行是错误的。因为您将message()定义为void函数,所以您可以t pass any parameters to message().并且对于void函数,您应该通过返回行结束它。所以我认为你的程序应该是:

#include<stdio.h>
    void  message() ;
    int main()
    {
        message ();
        return 0;
    }
    void message()
    {
        printf("it is small");
        return;
    }

答案 3 :(得分:-1)

另外,定义函数“void message()”不能接受任何参数。