2

これが私がやりたいことです。HTTP 応答、ヘッダー、およびデータからのデータを保存したいと考えています。これを行う簡単な方法は、応答とデータをペアとして保存することだと思いました。データは LRU キャッシュからフェッチされます。LRU キャッシュはキー (文字列) とペアを取ります。HTTPResponse は、POCO C++ HTTPResponse オブジェクトの形式です。しかし、ペアの 2 番目の引数から文字列を取得できません!

        this->clientCache = new LRUPersistentCache<string, pair<HTTPResponse, string > >(3,cachePath);



    pair<HTTPResponse,string> tmp = (*this->clientCache->get(headKey));// Get the pair
    cout << ((string*)tmp.second()).c_str();  //Should get the second object of the pair!
// But gives: Type std::basic_string<char> does not provide a call operator.

以下のように書くと、同じエラーが発生します。

            cout << (*this->clientCache->get(headKey)).second().c_str();

ここで何が間違っていますか?

4

3 に答える 3