I have written a simple generic list class called List. The class contains a function called add() that takes a pointer of the generic object. The argument is also default initiated with zero if no argument is passed to the function.
List<Person*> list;
Person *p = new Person;
list.add();
list.add(p); // generates compile error
The error the above code generates is: no mathing function call for call to 'List<Person*>::add(Person*&)'
note: candidates are: void List<T>::add(T*) [with T = Person*]