prog.cpp: In instantiation of ‘void func(T) [with T = Nathan]’:
prog.cpp:20:11: required from here
prog.cpp:12:9: error: base operand of ‘->’ has non-pointer type ‘Nathan’
prog.cpp: In instantiation of ‘void func(T) [with T = Nathan*]’:
prog.cpp:21:12: required from here
prog.cpp:14:9: error: request for member ‘getHash’ in ‘value’, which is of pointer type ‘Nathan*’ (maybe you meant to use ‘->’ ?)