Putting aside for a second that you need to define your own protocol and that Enet just takes care of pushing packages around:
Your AddEntity() method does not what you think it does, the pointer will not be transferred out of the function. You assign it a new value, but that's not visible to the caller. Either go with pointer to pointer, or better, return it as a return value.