How do I forward declare a template type that has been forward declared elsewhere with a defaulting
问题 So the excellent answer to this question states that you can default template types in a forward declaration, however: You can specify each default template argument only once This is more fully specified in the linked question, but Boost's Property Tree stuff works with the ptree type: typedef basic_ptree<std::string, std::string> ptree; But the basic_ptree class is defined like this: template<class Key, class Data, class KeyCompare> class basic_ptree The only reason the ptree typedef is