缺少类型说明符 - 假定为 int。 注意: c + + 不支持默认值-int

来源:3-4 强者争霸

查查先生

2021-04-25 01:03

#include <stdio.h>

#include <iostream>

main(int argc, char** aggv)

{

std::cout << "int:\n" << sizeof(int) << std::endl;

}

\\1-在visual studio 2019运行报错,错误代码C4430,微软官方的解释看不懂....?

\\2-按照百度的解答,将在main函数前加void,即void main(int argc, char** aggv),运行成功,原理究竟是什么呢..

写回答 关注

2回答

  • Redknot
    2021-04-25 15:32:55
    已采纳

    main 函数的返回值是 int,这是标准里面写明白的,但是 vs 向来允许开发者使用 void 作为返回值。这也是市面上很多教材里写的 main 函数的返回值是 void 的原因。微软是始作俑者。

    而对于你这段程序,错误的原因是 main 函数没有写返回值。你应该为 main 申明一个 int 的返回值,并在函数结束的地方return

    #include <stdio.h>

    #include <iostream>

    int main(int argc, char** aggv)

    {

    std::cout << "int:\n" << sizeof(int) << std::endl;

    return 0;

    }


    查查先生

    感谢作者回答,看了你的回答我发现我没有加rutun 0;(犯这种低级错误真是抱歉),之后跑了一下程序,还是报错了。问题果然是main函数没有写返回值,但是我前几节课的代码都是用的默认main(没有加void),就没有提示这个错误。 我还是不太能理解,我觉得是了解的太少了(初学者),先跳过这个问题,接着往下学。 再次感谢作者回答

    2021-04-26 00:43:50

    共 1 条回复 >

  • weixin_慕虎9056569
    2022-02-03 22:36:20

     C和C++语言要求要清理内存的,不要忘记main函数结束的return 0语句。

趣味 C++ 入门

C++ 入门,开启趣味学习之旅,揭开 C++ 的神秘面纱,让你不再望而生畏。

30497 学习 · 184 问题

查看课程

相似问题