Use `size_t` to deal with the warning in VC++