fix the mysterious error: ‘size_t’ does not name a type