这个报错是因为存在操作符重载的歧义,编译器无法确定应该使用哪个重载版本。为了解决这个问题,你可以将 it.value()
进行显式转换为字符串类型。
请尝试修改代码如下:
emitter << YAML::Value << it.value().get<std::string>();
通过添加 .get<std::string>()
显式地将值转换为字符串类型,可以消除操作符重载的歧义。
希望这次能够解决您的问题!如果还有其他疑问,请随时提问。
内容由零声教学AI助手提供,问题来源于学员提问