}' 不是从 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>"派生的-6ren"> }' 不是从 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>"派生的-int webServerPort = -1; void configure(std::string responseFile, callback_function call_back, std-6ren">
gpt4 book ai didi

c++ - 在 C++ 中,得到一个错误说 "std::string {aka std::basic_string}' 不是从 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>"派生的

转载 作者:行者123 更新时间:2023-11-28 00:50:41 24 4
gpt4 key购买 nike

int webServerPort = -1;    

void configure(std::string responseFile, callback_function call_back, std::string urlRegex = NULL) {
std::string url = "http://0.0.0.0:" + webServerPort + "fake_settings/?file=" + responseFile;
if(urlRegex != NULL) { // GOT ERROR HERE
url += "&pattern=" + urlRegex;
}

得到一个错误,其实不叫“error”而是“note”

错误提示:注意:“std::string {aka std::basic_string}”不是从“const __gnu_cxx::__normal_iterator<_IteratorL, _Container>”派生的

有人知道吗?

谢谢

最佳答案

两件事:首先,您将 urlRegex 默认为 NULL。你的意思是这是空字符串吗?如果是这样,请不要打扰,因为无论如何这是字符串的默认设置。然后,当您检查 urlRegex 是否为 NULL 时,改为:

if(!urlRegex.empty()) { // ...

其次,您尝试将 webServerPort(一个 int)添加到 std::string。那是不合法的。如果您真的想这样做,那么解决方法是:

std::ostringstream ss;
ss << "http://0.0.0.0:" << webServerPort << "fake_settings/?file=" << responseFile;
std::string url = ss.str();

关于c++ - 在 C++ 中,得到一个错误说 "std::string {aka std::basic_string<char>}' 不是从 'const __gnu_cxx::__normal_iterator<_IteratorL, _Container>"派生的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14243778/

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