-1

私はそれを探しましたが、解決策を見つけることができませんでした。申し訳ありませんが、これはすでに投稿されています。

constchar*をconstchar*にマッピングするstxxl::map構造を作成する必要があります(最適なのは文字列から文字列ですが、stxxlコンテナは非PODを受け入れないことを認識しています)

constchar*のcomp_type構造体の定義に問題があります。誰かその例がありますか?

これが私が書いたものです:

struct comp_type : public std::less<const char*>
{
        static int max_value()
        {
                return (std::numeric_limits<char>::max)();
        }
};
4

1 に答える 1

1

私はまだコメントするのに十分な評判を持っていません. ということで、返信を投稿します。

@ildjarn:stxxl必要に応じstatic T min_value()static T max_value()、場合によっては。

@Fabrizio: 2 つconst char*の s を直接比較してもよろしいですか? から継承して行っていることですstd::less<const char*>。2 つの文字列を比較することが目的の場合は、次のようなものが必要になります。

struct comp_type : public std::binary_function<const char*, const char*, bool>
{
    bool operator ()(const char* left, const char* right)
    {
        return strcmp(left, right) < 0;
    }

    static const char* min_value() { return "\0"; } // I hope this is the minimum

    static const char* max_value() {...} // I don't know of any maximum value
};

static const char* max_value()であり、 ではないことに注意してくださいstatic int max_value()。お役に立てれば。

于 2012-04-11T08:20:25.807 に答える