pYro_65:
@ivanseidel, your remove function assumes that bool can be converted to any type of T.if(index < 0 || index >= _size)
return false;
Maybe return a default initialized value:
if(index < 0 || index >= _size)
return T();This now only assumes that T has a default constructor or is a POD. The same scenario appears in other functions.
I think the problem is in fact, storing things larger than a simple pointer to a memory, number, boolean...
returning T(); would only work for object types that are NOT pointers, right?