What is a void*? What are its uses(I saw something regarding interfaces)?
It is a pointer to who-knows-what. It has the nice property that a pointer to anything can be implicitly cast to a void*.
In C++ there aren't many uses for it. It's more common in C.
you see it in threading still, where the args to the thread function are bundled into a void*.