7

こんにちは、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;
}

次のようなコンパイラ エラーが表示され続けます。

エラー 1 エラー C4430: 型指定子がありません - int が想定されています。注: C++ は default-int をサポートしていません c:\users\naqvi-home\documents\justit\c++\w1\cp1\list0304.cpp 8 1 ConsoleApplication3

ありがとう

4

3 に答える 3

13

それはあなたとは何の関係もありませんtypedef。問題は、次の戻り値の型を指定していないことですmain:

int main()
{
  // ...
}

関数には戻り値の型が必要です。main関数は を返す必要がありますint

于 2013-03-03T13:59:33.047 に答える
3

エラーコードをグーグルで検索すると、エラーの説明を簡単に調べることができます。たとえば、「C4430」をグーグルで検索すると、ここに誘導されます。その理由は、他の人が述べているように、main関数の戻り値の型を宣言していないためです。

于 2013-03-03T14:07:25.523 に答える
2

typedef に余分なものが必要だとは思いませんint。メモリから unsigned short (デフォルト) は int だと思いました。

于 2013-03-03T14:00:28.717 に答える