diff --git a/include/flatbuffers/stl_emulation.h b/include/flatbuffers/stl_emulation.h index 16d35f2e9..2a6fbb76b 100644 --- a/include/flatbuffers/stl_emulation.h +++ b/include/flatbuffers/stl_emulation.h @@ -41,12 +41,14 @@ inline char string_back(const std::string &value) { // Helper method that retrieves ::data() from a vector in a way that is // compatible with pre C++11 STLs (e.g stlport). template inline T *vector_data(std::vector &vector) { - return &(vector[0]); + // In some debug environments, operator[] does bounds checking, so &vector[0] + // can't be used. + return &(*vector.begin()); } template inline const T *vector_data( const std::vector &vector) { - return &(vector[0]); + return &(*vector.begin()); } template