简体   繁体   English

的std ::矢量 <std::basic_string<char> &gt; :: const_iterator&#39;没有名为&#39;c_str&#39;的成员

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

i have problem with this. 我有这个问题。 It says this: 它说:

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

Could you help me, please ? 请问你能帮帮我吗 ?

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

Instead of 代替

itr.c_str()

write

itr->c_str()

Because c_str is a member not of the iterator but of the std::string it refers to. 因为c_str不是迭代器的成员,而是它所引用的std::string的成员。 In the same vein, replace itr.length() with itr->length() . 同样,用itr->length()替换itr.length() itr->length()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 cpp:错误:'类提升::可选<std::__cxx11::basic_string<char> &gt;' 没有名为 'c_str' 的成员</std::__cxx11::basic_string<char> - cpp: error: 'class boost::optional<std::__cxx11::basic_string<char> >' has no member named 'c_str' std :: basic_string类型的非const引用的init无效 <char> :: const_iterator&来自std :: basic_string类型的rvalue <char> ::为const_iterator - Invalid init of non-const reference of type std::basic_string<char>::const_iterator& from rvalue of type std::basic_string<char>::const_iterator “的std :: basic_string的 <char,std::char_traits<char> ,性病::分配器 <char> &gt; :: c_str&#39;:非标准语法; 使用&#39;&&#39;创建指向成员的指针 - 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>::c_str': non-standard syntax; use '&' to create a pointer to member &#39;class std :: map <std::basic_string<char> ,Gui&gt;&#39;没有名为&#39;emplace&#39;的成员 - 'class std::map<std::basic_string<char>, Gui>' has no member named 'emplace' “ str2Int(std :: basic_string <char, std::char_traits<char> ,std :: allocator <char> &gt; const&)”,引用自: - “str2Int(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)”, referenced from: 错误:无法转换 'std::basic_string<char> ::iterator...' to 'const char* for argument '1'...'</char> - error: cannot convert 'std::basic_string<char>::iterator ...' to 'const char* for argument '1' ...' 无法从&#39;const std :: __ 1 :: basic_string转换 <char> 到&#39;std :: __ 1 :: basic_string <char> *” - No viable conversion from 'const std::__1::basic_string<char> to 'std::__1::basic_string<char> *' 从std :: map转换 <std::basic_string<char> ,std :: pair - conversion from std::map<std::basic_string<char>,std::pair<int,int(*)(const std::vector::Mat 对于std :: string :: c_str,无法从&#39;const char *&#39;转换为&#39;char *&#39; - cannot convert from 'const char *' to 'char *' for std::string::c_str 使用已删除的 function 'std::pair <const std::pair<std::basic_string<char> , std::basic_string<char> ></char></const> - use of deleted function 'std::pair<const std::pair<std::basic_string<char>, std::basic_string<char> >
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM