0

構造体定義が欠落している場合、 gccでautoが機能しないことに少し混乱しています。例えば:

0  struct foo;
1  typedef struct foo foo;
2  int test(foo* pFoo);
3  foo* pEvent = nullptr;
4  const auto var = test(pEvent);

4 行目のどこで、コンパイラはvarが何であるかを判断できないと不平を言います。test が宣言されているので、それは簡単なことだと思いました。何か不足していますか、それとも gcc 実装のバグですか?

編集:

すみません、悪いです。ツールチェーンは古い/バグのある gcc 4.4 を使用していました。4.6 の使用を強制すると、魅力的に機能します。

4

1 に答える 1

2

コンパイルします。

于 2012-02-01T11:14:36.673 に答える