错误:':: main'必须返回'int'

时间:2016-12-05 03:47:29

标签: c++ unix

我目前正在为我的班级使用Putty虚拟机(UNIX),我们正在做一个简短的C ++任务。任务是: "创建一个C ++程序,测试文件帐户是否存在并打印一条消息,说明该文件是否存在"

这就是我所拥有的,但是当我尝试编译代码时,我收到此错误: 错误:':: main'必须返回'int'

#include<iostream>
#include<fstream>

using namespace std;
inline bool exists_test1 (const std::string& name) {

if (FILE *file = fopen(name.c_str(), "r")) {
fclose(file);
return true;
} else {
return false;
}
}

void main()
{
string s;
cout<<"Enter filename";
cin>>s;
bool ans =exists_test1(s);
if(ans)
{
cout<<"File Exist"<<endl;
}
else
{
cout<<"File Does not Exist";
}
}

1 个答案:

答案 0 :(得分:5)

main的返回类型为int。这是由C ++标准定义的。在我的C ++ 11草案的本地副本中,它在§3.6.1主要功能:

中概述
  
      
  1. 实现不应预定义主函数。此功能不应过载。 它的返回类型应为int类型,否则其类型为实现定义。所有实现都应允许以下两个main定义:

    int main() { /* ...  */ }
    
         

    int main(int argc, char* argv[]) { /* ...  */ }
    
  2.   

因此,您的程序根据标准格式不正确,并且您的编译器正确地将其报告为错误。将您的功能定义为:

int main()
{
    // your code...

    return 0;
}