size_t should be std::size_t, include <cstddef>