0
次のconfig.yamlファイルを解析しようとしています。yams-cpp値の代わりにマップを返すネストされたシーケンス
config.yaml
foo:
bar:
baz: [1, 2, 3, 4]
bam: "some_string_value"
test.cpp
YAML::Node configObj = YAML::LoadFile("cfig.yaml"); // loads file just fine
YAML::Node fooObj = configObj["foo"]; // this Node object is a Map
// iterate over foo node to get bar node
for(auto it = fooObj.begin(); it != fooObj.end(); ++it){
YAML::Node barMap = it->second; // this Node object is a Map
// iterate over bar node to get bad node
for(auto i = barMap.begin(); i != barMap.end(); ++i){
YAML::Node bazMap = i->second; // this node is a sequence
for(std::size_t i=0; i<bazMap.size(); i++
auto index = bazMap[i].as<int>(); // <<< This is the problem
}
}
}
限り私が見ることができるような問題は、私は、インデックスは、私が最初のループ1であることを期待していint型が、bazMap[i].as<int>()
であることを期待していますということです2秒、等。私が代わりに得ているのはbazMap[i].as<int>()
です。タイプマップです。ここで私の理解に欠けているものは何ですか?
おかげで、
ブルース
更新答えは、私がループに早く私のネストされた中に停止したことでした。
これを解決しましたか?もしそうなら、あなたは実際に以下の答えを書いて、それを「受け入れ」とマークすることができます。 –
申し訳ありません、私は休暇中でした。私はやりました。ありがとう! – CompSciGuy139