C++ |主要功能错误 |初学者

标签 c++ program-entry-point

<分区>

我是 c++ 的新手,我正在使用 eclipse。

但是...我不知道为什么我在 main 函数中得到这个错误:

ERROR: ::main must return int

我的代码是:

void main()
{
char a;
while (a!='q')
{
    string ln = "enter option: ";
    cout<< ln;

    switch(a)
    {
    case 1:
        if (a=='1')
            func1();
        break;
    case 2:
        if (a=='2')
            break;
        break;
    }
}
}

最佳答案

因为在 C++ 中,main 函数的返回类型必须为 int

返回类型为 void 的版本不正确,被编译器正确拒绝。

只需更改声明

void main()

int main()

还有一种替代形式允许您处理通过命令行传递给您的程序的参数。它看起来像这样:

int main (int argc, char *argv[])

但是当您刚刚学习 C++ 并试图在屏幕上打印“hello world”时,这可能不是您需要担心的事情。你最终会到达那里。

并考虑更新您用来学习 C++ 的书籍。如果入口点的函数签名错误,还有什么其他更复杂的事情也可能出错?!第一次学习错误的语言没有意义。提供了推荐书籍列表 here .

关于C++ |主要功能错误 |初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9654601/

相关文章:

c++ - 为什么我得到 "undefined reference to main"

c++ - 尝试在 Windows 上构建 mysql-connector-cpp

c++ - 如何在将 C++ 宏作为参数传递给另一个宏之前展开它

c++ - 全局 - c 中数组初始化的局部差异

java - "Error: Could not find or load main class com.mycompany.App"尝试执行 Maven 生成的 Jar

c++ - 在 main 之前退出程序是否是明确定义的行为?

Windows 上的 Python 2.7,所有多处理示例的 "assert main_name not in sys.modules, main_name"

c++ - 解决二维数组中的迷宫

c++ - vector 值不按插入顺序

java - 为什么在找不到主要方法时不生成异常或错误?