这是我想做的。我想存储来自 Http 响应、标头和数据的数据。我想一个简单的方法就是将响应和数据存储为一对。数据是从 LRU 缓存中获取的。LRU 缓存接受一个键(字符串)和该对。HTTPResponse 采用 POCO C++ HTTPResponse 对象的形式。但是我无法从该对的第二个参数中获取字符串!
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();
我在这里做错了什么?