1
我使用升壓庫來解析ini文件看起來像:ptree中迭代器的成員不是由自動完成identifed?
[head]
type1=val1
type2=cal2
...
我的代碼是這樣的:
#include <iostream>
#include <string>
#include <boost/property_tree/ptree.hpp>
#include <boost/property_tree/ini_parser.hpp>
using namespace std;
int main()
{
using boost::property_tree::ptree;
boost::property_tree::ptree pt;
boost::property_tree::ini_parser::read_ini("test.ini", pt);
boost::property_tree::ptree::iterator pos1,pos2;
for(pos1 = pt.begin(); pos1 != pt.end() ; ++pos1)
{
cout << pos1->first << endl;
for(pos2 = pos1->second.begin() ; pos2 != pos1->second.end() ; ++pos2)
{
cout << " " << pos2->first << "=" << pos2->second.get_value<string>() << endl;
}
cout << endl;
}
return 0;
}
一切正常,並預期該程序輸出,但蝕痕所有POS1和POS2「 - >」的錯誤...時Intelli感不加載「第一」或「第二」選項,並標記它們的所有用途爲錯誤......然而,這一切編譯...
什麼想法? ?
這裏是它的外觀:
喜埃裏克,也許我不明白的itrator consept很好,但作爲我看到它POS1和POS2是一種指向他們迭代相同類型的(至少這是其作品對我來說陣列和矢量迭代器如何)。反正,我只是用「POS1。」我得到很多的迭代器的屬性和方法,但沒有任何ptree中的的.... –