0
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;
        }

得到一个错误,实际上它不是称为“错误”而是“注释”

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

有人知道吗?

谢谢

4

1 回答 1

3

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

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();
于 2013-01-09T18:30:40.203 回答