如何将此代码解析为""
作为字符串(或识别它不是可接受的字符串)?我使用的是this YAML-cpp library,我确认将其视为NodeType::value()
而不是NodeType::Null
。
std::string getFilepath() {
YAML::Node nodeValue = node["filepath"];
if(nodeValue.Type() == YAML::NodeType::value()){
return nodeValue.as<std::string>(); //Breaks here
}
return "";
}
在.yaml文件中,该条目列为filepath: ""
YAML::NodeType
不包含比value()
和Null
更具体的变量类型。
以下是具体错误:
terminate called after throwing an instance of
'YAML::TypedBadConversion<std::string>'
what(): bad conversion
到目前为止,我唯一想到的解决方法是尝试捕获块。