You need to do:
std::cout << pt.template get<std::string>("path");
Use template
in the same situation as typename
, except for template members instead of types.
(That is, since pt::get
is a template member dependent on a template parameter, you need to tell the compiler it's a template.)