追記 (2010/03/08) find()の戻り値で、見つかったかどうかの判定をit != pt.end()ではなくit != pt.not_found()と書くようになり、find()の戻り値の型もiteratorからassoc_iteratorに変更されています。この辺りは、Boost 1.42.0時点ではドキュメントが古いままなので注意してください。 Boost.PropertyTreeでXML読み込み - Faith and Brave - C++で遊ぼう 上記のように,find() のインターフェースに変更があったようです.早とちりしてしまったのですが,iterator → assoc_iterator, end() → not_found() になった訳ではなく,find() の戻り値に関してのみ assoc_iterator や not_found() を利用する形になった