1

これはうまくいくと思いました。

typedef auto var;

しかし、私はエラーが発生します:

error: typedef declared 'auto'

逆に、他のキーワードでも機能します。

typedef int num;

エラーが発生するのはなぜですか?

4

3 に答える 3

19

簡単に言うと、これは の許可された使用法ではありませんautotypedefタイプのエイリアスを定義します。 autoタイプではありません。変数の宣言で使用すると、初期化子の型の代わりになります。できたとしても、型typedef auto var;のエイリアスにはvarなりません。

于 2012-10-08T16:46:09.757 に答える
0

auto は型ではなく型修飾子であるため、typedef することはできません

于 2012-10-08T16:47:21.787 に答える