C++ C++;编译器错误c4430“;c++;不支持默认整数;

C++ C++;编译器错误c4430“;c++;不支持默认整数;,c++,int,alias,typedef,C++,Int,Alias,Typedef,嗨,我正在尝试定义一个名为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::

嗨,我正在尝试定义一个名为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;
}
//演示typedef关键字
#包括
typedef unsigned short int-USHORT;//定义的类型定义
main(){
USHORT宽度=5;
USHORT长度;
长度=10;
U短面积=宽度*长度;

std::cout它与您的
typedef
无关。问题是您没有为
main
提供返回类型:

int main()
{
  // ...
}

一个函数必须有一个返回类型。
main
函数必须返回
int

我相信你不需要在typedef中额外的
int
,我从内存中想,unsigned short(默认情况下)是一个整数。

通过谷歌搜索错误代码,您可以很容易地查找错误的解释。例如,谷歌搜索“C4430”会导致您出错。原因是,正如其他人所说,您尚未声明
main
函数的返回类型。

刚刚在main的末尾添加了一个返回0,仍然存在相同的问题。@rehanaqviED表示返回类型是代码> int >代码>参见Gave.OK谢谢MART现在工作。对不起,我是C++的新的LL BTW。我只是好奇,是在C++中用一个文本编辑器与IDE中的编码不同的语法。例如,我在文本编辑器中使用“包含”,或者我必须把它改为“包含”。当你想“cout”的时候也是一样,在ide中,我似乎必须做“std::cout”,而在文本编辑器中,我可以不用前面的“std:”来做“cout”RehanNaqvi的C++语法是一样的,IDE只是一个美化的文本编辑器,没有标题<代码> IOSRONT.H./CUD>,你应该做的是<代码>包含< <代码> >所有的C++库头不结束于<代码> .H./C>。但是,当C代码库包含< <代码> >时,<代码> cOUT/COD>对象在std
namespace-您必须使用
std::cout
来限定它(除非您使用namespace std;执行类似
的操作-但这是非常顽皮的)。非常感谢!删除了typedef定义中的int,仍然得到相同的错误。我删除了int,并在MaC上编译了它。我还向main添加了一个返回类型。哪一行是错误?它说错误在第8行,或者大约在第8行。使用visual Studio 2013 expressNote:大多数编译器在e行指出错误消息源于,在您的示例中编译器指向哪里?