> On 17 Aug 2021, at 08:49, Akim Demaille <[email protected]> wrote: > > Hi Hans, > >> Le 13 août 2021 à 09:52, Hans Åberg <[email protected]> a écrit : >> >>> 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 : >>>> >>>> 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. > > You need to read my answer, and the page it pointed you to.
I checked it out on the C++ Std-Discussion list, and there is normative standard specifying std::vector::data before C++11. The absence in GCC 4.2 may have to do with the MacOS version, as an earlier GCC version has it. https://lists.isocpp.org/std-discussion/2021/08/1370.php
