>>636
面倒なのを厭わなければ、

class Item;
typedef std::list<Item> List;

という内容のitem_fwd.hを作って、item.hとItemの前方宣言が必要なファイルの両方からインクルードするという方法がある。