c++ - 无法将参数 1 从 'std::string' 转换为 'std::string &&'
问题描述
我正在尝试编写一个用于解析 config.ini 文件的函数,但我遇到了这个我以前从未真正遇到过的错误
'std::pair<std::basic_string<char,std::char_traits<char>,std::allocator<char>>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>> std::make_pair<std::string,std::string>(_Ty1 &&,_Ty2 &&)': cannot convert argument 1 from 'std::string' to 'std::string &&'
我的代码如下所示:
std::map<std::string, std::string> Iasynth::getConfigOptions(std::string const & configData)
{
std::map<std::string, std::string> result;
std::istringstream iss(configData);
bool key = true;
std::string keyData;
std::string valueData;
for (std::string token; std::getline(iss, token, '\n'); )
{
for (std::string token; std::getline(iss, token, '='); )
{
if (key)
{
keyData = std::move(token);
key = false;
}
else
{
valueData = std::move(token);
result.insert(std::make_pair<std::string, std::string>(keyData, valueData));
key = true;
}
}
}
return result;
}
解决方案
推荐阅读
- asp.net-core - 如何在 Asp.Net Core Razor 页面项目中使用 OData(无 MVC、API)
- c++ - 在没有任何锁的情况下加入另一个线程后是否需要内存围栏?
- sql - SQL - 在检查分区字段与另一个表中的值时,我可以使用分区吗?
- python - 如何使 QPlainTextEdit 宽度与 QTabWidget 内的小部件的宽度相匹配?
- docker - 从 Firebase/Google Cloud Functions 执行 Docker 容器
- python - 如何绘制并且只有几个选定的状态,而不是全部 50 个
- python - 继续循环,直到 API 响应不再包含特定密钥
- javascript - 通过 iframe 传递数据
- linux - docker 容器第一次执行完成后如何自定义其卷和端口?
- android - FusedLocationClient.getLastLocation(),永远不会到达 onSuccess