-3
#include <stdio.h>

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

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

4

4 回答 4

2

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

于 2013-09-22T02:48:30.233 回答
0

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

message ( message ());
于 2013-09-22T02:48:56.710 回答
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;
    }
于 2013-09-22T04:16:52.800 回答
-1

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

于 2013-09-22T03:19:50.460 回答