我的代码有问题吗?我该如何解决?

-5 c++ macos

#include <iostream>
 void dummyfunction(void)
 {
     std::cout<< "this is";
 }
Run Code Online (Sandbox Code Playgroud)

错误:

#include <iostream>
 void dummyfunction(void)
 {
     std::cout<< "this is";
 }
Run Code Online (Sandbox Code Playgroud)

。我该如何解决?

Dav*_*ica 6

在 C/C++ 程序中,该main()函数提供程序启动的入口点。(.ctor之前调用了一些专门的函数main(),您很少会遇到,如果有的话)

所以你上面的内容声明了函数,dummyfunction();但没有main()链接器ld可以用作入口点的函数(程序控制从shell传递到程序开始运行的地址)

您的错误消息非常明确地说明main()了问题的缺失。要纠正错误,您需要定义main()函数,其中正确的调用是int main (void)int main (int argc, char *argv[])(您将看到char *argv[]等效地写为char **argv)。还有一个env变量,但这在这里并不重要。如果您的程序在命令行上不接受任何参数,则int main (void)是正确的。使用 C++void可以省略,因为它只对 C 产生影响。

包括main(),您的程序将编译为:

#include <iostream>

void dummyfunction(void)
{
    std::cout << "this is\n";
}

int main ()
{
    dummyfunction();
}
Run Code Online (Sandbox Code Playgroud)

注:加入的'\n'在年底"this is\n"让你的程序的输出以新行终止由POSIX指定)

示例使用/输出

我只是命名为 program executable dummyfunction,但您可以随意命名它。

$ ./dummyfunction
this is
Run Code Online (Sandbox Code Playgroud)