Hi, can anybody explain this code? I saw this on a proprietary 3rd party library so I don't quite understand what it is trying to achieve. I don't understand the reason for the reinterpret casting. It seems redundant (CMIIW). Why would anyone want to do that? Thanks in advance.

Code:
...
private:
T *freeListHead;

T *myfunction()
{
    ...
    freeListHead = *(reinterpret_cast<T**>(freeListHead));
    return freeListHead ;
}