千帐灯无此声 2023-01-02 00:14 采纳率: 100%
浏览 2710
已结题

C++力扣报错,提交什么都编译错误

力扣执行代码和提交报错
Line 30: Char 17: error: use of undeclared identifier 'Solution'
int ret = Solution().numWays(param_1); return ret;
它报错第30行,可我的代码只有19行
代码在编译器上运行能正确输出,但是力扣不行,选的C++

复制题解正确答案来提交,也报错
error: excepted ":" public int numWays (int n)
求解释,力扣第一次提交,直接不行,是力扣有什么特别的要求吗

网上查,说是全局变量不能声明,只能局部,我就改了局部,
还有说没有初始化,我检查了一遍全部声明初始化了
就是原编译器能过,就力扣不行,提交什么都不行

  • 写回答

3条回答 默认 最新

  • 千帐灯无此声 算法领域优质创作者 2023-01-02 17:28
    关注

    首先,leetcode是核心代码模式,区别于ACM,蓝桥杯牛客或者本地编译器的代码,本地编译器比如codeblocks,Dev C++,visual Studio code等,你需要写头文件,需要输入输出,而leetcode不需要,拿我上面的代码来说,第一个问题是,没按核心代码模式,把头文件这些也都写上了,这在编译器可以输出,但leetcode直接编译错误。第二点,我改成核心代码后,执行代码里所有测试样例都能过,但是提交代码只过了一个或者一部分,这是为什么呢,在我的代码里是因为多了cin,leetcode不需要处理输入输出的,这会影响下一个测试用例
    所以,本代码通过转变为核心代码,再删掉cin就提交通过了,还得去掉int n的声明,它一开始帮你声明了。
    还要注意一个点,网上说,leetcode不要声明全局变量,而且如果声明了类内静态变量,要初始化,否则也会影响下一个测试数据,浪费我3小时

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    千帐灯无此声 2023-01-02 17:30

    最后那个点的补充说明,大家可以在csdn搜“力扣核心代码模式”

    回复
    千帐灯无此声 2023-01-02 17:31

    前两个回答可以解答你们的部分疑惑

    1
    回复
查看更多回答(2条)
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 1月10日
  • 已采纳回答 1月2日
  • 创建了问题 1月2日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部