これが私がやりたいことです。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();
ここで何が間違っていますか?