C++代码VS运行正常 在线IDE报int main重定义错误排查
报错原因
- 在线编程判题平台本身已经预置了完整的程序运行框架:包含负责读取测试用例输入、调用用户实现的功能函数、打印输出结果的
int main()函数,同时提前引入了必要的头文件、做了基础命名空间配置。 - 你提交的代码中自定义了一份
main()函数,和平台预置的main()函数同时参与编译,直接触发函数重定义的编译错误,这就是报错里提示的redefinition of 'int main()'的核心原因。 - 本地Visual Studio环境可以正常编译运行,是因为本地编译时仅编译你自己编写的单份代码,不存在重复定义的冲突,和在线环境的编译逻辑有区别。
平台适配正确写法
你不需要自行编写输入输出逻辑、不需要自定义main()函数,只需要实现题目要求的功能函数即可,提交的有效代码仅需保留如下部分:
int compute(int x, int y){ int sum = x*x + y*y; return sum; }
小提示:如果遇到未定义标识符的编译报错,再按需补充对应头文件引入或者命名空间声明即可,绝大多数情况下平台已经预置了这些基础配置,不需要重复编写。
内容的提问来源于stack exchange,提问作者Neeladri Reddy
相关产品推荐
相关产品推荐

