C++ Compiler Error C4430 "C++ Doesn't Support Default Int" [Closed]

C++ Compiler Error C4430 "C++ Doesn't Support Default Int" [Closed]

Hi im trying to define an alias called USHORT.

// Demonstrates typedef keyword
#include <iostream>

typedef unsigned short int USHORT;  // typedef defined

main() {
    USHORT  Width = 5;
    USHORT Length;
    Length = 10;
    USHORT Area  = Width * Length;
    std::cout << "Width:" << Width << "\n";
    std::cout << "Length: "  << Length << std::endl;
    std::cout << "Area: " << Area;
}

I keep getting a compiler error saying:

Error 1 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\users\naqvi-home\documents\justit\c++\w1\cp1\list0304.cpp 8 1 ConsoleApplication3

Thanks

3

3 Answers

It has nothing to do with your typedef. The problem is that you haven't given a return type for main:

int main()
{
  // ...
}

A function must have a return type. The main function must return int.

4

You can easily look up the explanation for the error, by googling the error code. E.g. googling for 'C4430' would lead you here. The reason is, as others have stated, that you haven't declared the return type for main function.

I don't believe you need the extra int in the typedef, I thought from memory unsigned short (by default) is an int.

2
Maya Lin-Takahashi
Author

Maya Lin-Takahashi

Maya is a hardware enthusiast who tests and reviews smart home devices, smartphones, wearables, and audio gear. She focuses on practical consumer value and build quality.