[ https://issues.apache.org/jira/browse/STDCXX-236?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12477159 ]
Martin Sebor commented on STDCXX-236: ------------------------------------- Still appears to be a problem even today, over 6 years later: $ cat z.cpp && make z #include <iterator> #include <vector> void main() { std::reverse_iterator<std::vector<bool>::iterator>::operator->(); } gcc -c -I/build/sebor/dev/stdlib/include/ansi -D_RWSTDDEBUG -D_RWSTD_USE_CONFIG -I/build/sebor/dev/stdlib/include -I/build/sebor/gcc-4.1.0-11s/include -I/build/sebor/dev/stdlib/examples/include -pedantic -nostdinc++ -g -W -Wall -Wcast-qual -Winline -Wshadow -Wwrite-strings -Wno-long-long z.cpp z.cpp:4: error: '::main' must return 'int' z.cpp: In function 'int main()': z.cpp:6: error: cannot call member function 'typename std::iterator_traits<_Iterator>::pointer std::reverse_iterator<_Iterator>::operator->() const [with _Iterator = std::vector<bool, std::allocator<bool> >::iterator]' without object /build/sebor/dev/stdlib/include/rw/_iterator.h: In member function 'typename std::iterator_traits<_Iterator>::pointer std::reverse_iterator<_Iterator>::operator->() const [with _Iterator = std::vector<bool, std::allocator<bool> >::iterator]': z.cpp:6: instantiated from here /build/sebor/dev/stdlib/include/rw/_iterator.h:151: warning: taking address of temporary /build/sebor/dev/stdlib/include/rw/_iterator.h:151: error: cannot convert 'std::vector<bool, std::allocator<bool> >::reference*' to 'unsigned int*' in return make: *** [z.o] Error 1 > std::reverse_iterator<std::vector<bool>::iterator>::operator-> doesn't compile > ------------------------------------------------------------------------------ > > Key: STDCXX-236 > URL: https://issues.apache.org/jira/browse/STDCXX-236 > Project: C++ Standard Library > Issue Type: Bug > Components: 23. Containers > Environment: all > Reporter: Martin Sebor > > Moved from the Rogue Wave bug tracking database: > ****Created By: sebor @ Jun 23, 2000 04:08:36 PM**** > Subject: vector<bool> operator arrow cannot be explicitly instantiated (908) > Date: Fri, 23 Jun 2000 16:06:09 -0400 > From: [EMAIL PROTECTED] > To: [EMAIL PROTECTED] > /* > This won't compile. It is from the Perennial test suite. > cxx: Error: /usr/users/j_ward/BRUCE/include/iterator, line 559: expression > must be an lvalue or a function designator > detected during instantiation of > "std::reverse_iterator<_Iterator>::pointer > std::reverse_iterator<_Iterator>::operator->() const [with > _Iterator=std::vector<bool, > std::allocator<bool>>::iterator]" at line 7 of "t.cxx" > _RWSTD_OPERATOR_ARROW (pointer operator->() const); > ----^ > */ > #include <iterator> > #include <vector> > void main() > { > std::reverse_iterator<std::vector<bool>::iterator>::operator->; > } > ****Modified By: sebor @ May 09, 2002 12:00:25 PM**** > With SunPro 5.3 and the latest libstd 3.0: > SUNWS_CACHE_NAME=t.ti CC -c -D_RWSTDDEBUG -D_RWSTD_MULTI_THREAD -mt > -D_RWSTD_POSIX_D10_THREADS -D_RWSTD_USE_CONFIG > -I/build/sebor/sunpro-15d/include -I/build2/sebor/dev/stdlib/include > -I/build2/sebor/dev/stdlib/../rwtest > -I/build2/sebor/dev/stdlib/../rwtest/include > -I/build2/sebor/dev/stdlib/tests/include -library=%none -g +w t.cpp > "/build2/sebor/dev/stdlib/include/rw/_iterator.h", line 153: Error: Cannot > return std::vector<bool, std::allocator<bool>>::reference* from a function > that should return unsigned*. > 1 Error(s) detected. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.