6

このコードを考えると:

void LoadFromYaml(const YAML::Node& node){
    const YAML::Node& Data=node["Data"];
    if(Data){
        if(Data.ValueIsInt)// Do something with integer.
        if(Data.ValueIsFloat)// Do something with float.
        if(Data.ValueIsString)// Do something with string.
    }
}

YAML ノード 'Data' に含まれるデータが整数、浮動小数点数、または文字列であることを確認するにはどうすればよいですか? 注: ノードがスカラー、マップ、シーケンスなどであるかどうかを確認したくありません。

4

2 に答える 2

3

ノードを各タイプに変換することができます:

try {
  int value = data.as<int>();
  // do something
} catch (const BadConversion& e) {
  // do something else
}
于 2013-11-15T06:53:10.877 に答える