But for some reason, just this one entity "Blan" where I creates with "NewEntity()" it pop up a error saying that I can't access this memory when the program reach to the delete section of the code.
Your NewEntity method create the entity on the stack and not on the heap:
Entity testing; testing.name = name; TotalEntity.push_back(testing);
Once your NewEntity methods returns, the testing entity will be gone resulting most likely in a followup error once you try to access/delete it.
The correct way would be something like this:
Entity* testing = new Entity(); testing->name = name; TotalEntity.push_back(*testing);
Update: I know, that a vector::push_back creates a copy of the data, but this does not prevent you from using pointers as type of the vector. Can you give more information, like the definition of TotalEntity.
It seems that I'm on the wrong track...