1

我试图创建一个函数来识别字符串中的匹配行。我的整个字符串保存在strStartstrToMatch包含搜索字符串。以下是我的代码

void ExpertContextUser::removeMatchedString() {
        String line;
        String strStart="Testing\nReturns\nrelated\nresources";
        String strToMatch="Test";
        istringstream streamAddtText(strStart);
        while(std::getline(streamAddtText, line)) {
                cout << line << "Function" << endl;
                if(line.index(strToMatch) > 0) {
                        TraceMessage <<" Test Success" << endl;
                }
        }
}

当我编译我的代码时,我收到以下错误

“../user_model_impl.cxx”,第 234 行:错误 #2289:没有构造函数实例“std::basic_istringstream<_CharT, _Traits, _Allocator>::basic_istringstream [with _CharT=char, _Traits=std::char_traits, _Allocator= std::allocator]" 匹配的参数列表参数类型是: (RWCString) istringstream streamAddtText(strStart);

我无法找到此错误的原因。

4

1 回答 1

5

发生错误是因为istringstream 构造函数采用 a std::string,而不是 a RWCString。如果您希望它起作用,您需要提供从RWCStringto的转换。std::string

于 2013-09-24T06:09:03.490 回答