std::vector<std::basic_string<char> >::const_iterator' 没有名为 'c_str' 的成员

std::vector<std::basic_string<char> >::const_iterator’ has no member named ‘c_str’

本文关键字:std gt lt str 成员 char string const iterator vector basic      更新时间:2023-10-16

我对此有问题。它说:

‘std::vector<std::basic_string<char> >::const_iterator’ has no member named ‘c_str’

你能帮帮我吗?

for ( ObjectMgr::WayContainer::const_iterator itr = Ways.begin(); itr != Ways.end(); ++itr )
{
char *cstr = new char[itr.length() + 1];
strcpy(cstr, itr.c_str());
if ( !stricmp(cstr, wayss) )
{
return;
}
delete [] cstr;
}

而不是

itr.c_str()

itr->c_str()

因为c_str不是迭代器的成员,而是它所引用std::string的成员。同样,将itr.length()替换为 itr->length() .