gpt4 book ai didi

c++ - 从一对中获取值失败,返回 : TYPENAME does not provide a call operator

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:50:45 34 4
gpt4 key购买 nike

这是我想做的。我想存储来自 Http 响应、 header 和数据的数据。我认为一种简单的方法是将响应和数据成对存储。数据是从 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();

我在这里做错了什么?

最佳答案

cout << ((string*)tmp.second()).c_str(); 
^^

您正在转换为 string* .它应该只是 string (或什么都没有)因为 secondpair<HTTPResponse,string>只是一个string .

第二个是成员而不是成员函数所以它应该是tmp.second


cout << tmp.second.c_str(); 

关于c++ - 从一对中获取值失败,返回 : TYPENAME does not provide a call operator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16210558/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com