Try to use placement new but it kept giving me errors. I remember a while ago, it was working. g++ (ver 4.8.4) on Ubuntu 14.04.
#include typed
To make your original code work, you need to add
void* operator new( size_t, strSession * p ) { return p; }
In the old days, before C++ left Bell Labs, C++ had a feature where a constructor could assign to 'this'. The operator new placement syntax was considered an improvement.