错误C4430:缺少类型说明符 - 假定为int。 C ++不支持default-int

时间:2015-04-07 18:04:06

标签: c++

大家好,我希望你能帮帮我。

我已经搜索了错误并且它发生在许多人身上,但它仍然没有解释我的情况。当我编译我的c ++源代码时,我不断收到此错误。

Error   1   *error C4430: missing type specifier - int assumed. Note: C++ does not support default-int*

请帮助我在我创建的所有代码中发生,甚至是小东西。这是代码:

#include <iostream>
#include <cmath>
#include <string>
#include <vector>
#include <algorithm>

using namespace std;
inline void keep_window_open() { char ch; cin >> ch; }

main()
{
    cout << "enter two small full values. each folowed by the enter key";
    int val1;
    int val2;
    cin >> val1;
    cin >> val2;
    if (val1 > val2)
        cout << "\nthe lagest number you typed was: \n" << val1;
    if (val2 > val1)
        cout << "the lagest number you typed was: \n" << val2;
    if (val1 > val2)
        cout << "the smaller number you typed was: \n" << val1;
    if (val2 > val1)
        cout << "the smaller number you typed was: \n" << val1;

    return 0;
}
提前谢谢:D ķ

1 个答案:

答案 0 :(得分:3)

函数main应具有返回类型int

int main()
{
//...
}

来自C ++标准(3.6.1主要功能)

  

2实现不应预定义主函数。这个   功能不得超载。 应具有类型的返回类型   int ,但其他类型是实现定义的。所有   实现应允许两者 - ()函数返回int和    - 一个函数(int,指向char的指针)返回int作为   主要类型(8.3.5)。

考虑到当两个输入的数字彼此相等时,您的程序不输出任何内容。

此声明

if (val1 > val2)
    cout << "the smaller number you typed was: \n" << val1;

错了。应该有

if (val1 > val2)
    cout << "the smaller number you typed was: \n" << val2;