【发布时间】:2022-01-01 11:25:30
【问题描述】:
我正在尝试读取每个节点及其各自的内容(yaml 内容如下) 我以 belwo 错误告终。
错误: 在抛出 'YAML::TypedBadConversion
的实例后调用终止示例代码:
#include <yaml-cpp/yaml.h>
YAML::Node config = YAML::LoadFile('yamlfile');
std::cout << config["Circles"]["x"].as<std::int64_t>();
我还尝试了其他一些方法,但也许这种 yaml 格式很复杂。我可以阅读 yaml 的示例格式,但不是我在下面提到的。
任何帮助?
sample.yaml
- Pos: sensor - pos1
Rectangle:
- x: -0.2
y: -0.13
z: 3.26
- x: 0.005
y: -0.13
z: 3.2
- x: -0.2
y: 0.10
z: 3.26
- x: 0.00
y: 0.10
z: 3.2
【问题讨论】:
-
'yamlfile'应该是"yamlfile"- 提高编译器的警告级别以捕获这样的拼写错误。-Wall -Wextra -Werror -pedantic-errors是一个好的开始。此外,文件名yamlfile不匹配sample.yaml和sample.yaml不包含Circles这使得它抛出terminate called after throwing an instance of 'YAML::TypedBadConversion<long>' -
基本上我的代码和 yaml 内容在这里不匹配。对不起,但没有添加确切的代码。购买是的,代码和 yaml 字符串匹配,包括正确的文件名。我确保这些基本内容是正确的。