shared_ptr deletes with delete and shared_array deletes with delete[].
Type: Posts; User: Elysia
shared_ptr deletes with delete and shared_array deletes with delete[].
You seem to be using the old "C" way of 2D arrays. Are you use a std::vector< std::vector<int> > won't do?
Consider also using const T instead of #define.