> On 13 Aug 2021, at 08:11, Akim Demaille <[email protected]> wrote: > >> Le 12 août 2021 à 10:40, Hans Åberg <[email protected]> a écrit : >> >>> On 12 Aug 2021, at 10:18, Akim Demaille <[email protected]> wrote: >>> >>> GCC 4.2 on macOS claims to support C++98, but does not feature it. >>> >>> input.cc: In member function 'void state_stack::yycompressStack()': >>> input.cc:1774: error: 'class std::vector<glr_stack_item, >>> std::allocator<glr_stack_item> >' has no member named 'data' >> >> The member 'data' was introduced in C++11. >> >> https://en.cppreference.com/w/cpp/container/vector/data > > That page is exactly the one I looked at first to see that it's C++98, not > C++11. Read the bottom of > <https://en.cppreference.com/w/cpp/container/vector>.
It is not in the C++98 ISO+IEC+14882-1998 standard (the PDF). In the C++11 n3242 draft, in sec. 23.3.6.1 Class template vector overview, class vector has between sections "element access" and "modifiers" a section "data access" with T* data() noexcept; const T* data() const noexcept and it is also in a C++ draft standard I made from sources in 2015. So GCC is right on this one, and 4.2 is from 2007-2008, before C++11. You might try a later version with the -std=c++98 option to see what it does.
