0

私はこれをプライベートクラス宣言の中に持っています

#include "stdafx.h"
using namespace std;
    template <typename Key, typename T>
    class A{
    //....
    private:
        static const unsigned int HSIZE = 32;
        struct Bucket {
            Key key;
            T value;
            bitset<HSIZE> jumpMap;
        };
    //....
    };

次のエラーが発生します。

Error   1   error C4430: missing type specifier - int assumed
Error   2   error C2059: syntax error : '<'
Error   3   error C2238: unexpected token(s) preceding ';'

また、ビットセットラインを削除しても、エラーは発生しません。私は何が間違っているのですか?

編集:より関連性の高い行を追加しました

4

2 に答える 2

3

ビットセットヘッダーを含めましたか?あなたはそれを逃したと思いますか?

于 2011-09-10T18:26:14.680 に答える
2

代わりにHMAXをHSIZEにする必要がありますか?それ以外の場合は、<ビットセット>を含め、名前がスコープ内にあることを確認してください。std ::で修飾していないため、コードにusing名前空間stdが含まれている可能性があります。しかし、私の賭けはHMAX<->HSIZEに行きます。

于 2011-09-10T18:18:54.640 に答える