求解 error C2664: “std:basic_stringbasic_string(const std:该如何解决
求解 error C2664: “std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::
string gScriptLine::GetString(int index)
{
if (!(index < m_arParam.size()))
return "";
string t = m_arParam[index];
string::iterator it = remove(t.begin(), t.end(), '"');
string ret(t.begin(), it);
if (ret.empty())
return string();
return ret.begin();
}
出现错误
error C2664: “std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Myt &)” : 不能将参数 1 从“std::basic_string<_Elem,_Traits,_Ax>::iterator”转换为“const std::basic_string<_Elem,_Traits,_Ax>::_Myt &”
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
原因如下: 无法从“std::basic_string<_Elem,_Traits,_Ax>::iterator”转换为“const std::basic_string<_Elem,_Traits,_Ax>::_Myt”
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
无构造函数可以接受源类型,或构造函数重载决策不明确
------解决方案--------------------
* begin()
------解决方案--------------------
string gScriptLine::GetString(int index)
{
if (!(index < m_arParam.size()))
return "";
string t = m_arParam[index];
string::iterator it = remove(t.begin(), t.end(), '"');
string ret(t.begin(), it);
if (ret.empty())
return string();
return ret.begin();
}
出现错误
error C2664: “std::basic_string<_Elem,_Traits,_Ax>::basic_string(const std::basic_string<_Elem,_Traits,_Ax>::_Myt &)” : 不能将参数 1 从“std::basic_string<_Elem,_Traits,_Ax>::iterator”转换为“const std::basic_string<_Elem,_Traits,_Ax>::_Myt &”
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
原因如下: 无法从“std::basic_string<_Elem,_Traits,_Ax>::iterator”转换为“const std::basic_string<_Elem,_Traits,_Ax>::_Myt”
with
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
and
[
_Elem=char,
_Traits=std::char_traits<char>,
_Ax=std::allocator<char>
]
无构造函数可以接受源类型,或构造函数重载决策不明确
------解决方案--------------------
* begin()
------解决方案--------------------
- C/C++ code
string gScriptLine::GetString(int index) { ... return ret.begin(); //类型不匹配啊 }
------解决方案--------------------
因为你函数返回类型是string.
ret.begin(); 的类型是个迭代器,
所以要类型匹配,需要return ret;
------解决方案--------------------
知道'*' 运算符么?这要具体到哪?
------解决方案--------------------
直接return ret;
------解决方案--------------------
知道'*' 运算符么?这要具体到哪?