Here are a few options:
Step-by-Step Guide to Reverse Engineering Code into UML Diagrams with Microsoft Visio 2000 – http://msdn.microsoft.com/en-us/library/aa140255(office.10).aspx
BoUML – http://bouml.free.fr/features.html
StarUML – https://staruml.io/
Reverse engineering of the UML class diagram from C++ code in presence of weakly typed containers (2001) – http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.9064
Umbrello UML Modeller – https://apps.kde.org/umbrello/
A list of other tools to look at – http://plg.uwaterloo.ca/~migod/uml.html