Boost logo

Boost :

Subject: [boost] [range] [concepts] Boost 1.68 beta build error in RandomAccessIteratorConcept using latest MSVC
From: Viktor Sehr (viktor.sehr_at_[hidden])
Date: 2018-07-20 11:35:44

The following error is emitted in latest MSVC building Boost 1.68 beta:

1>\boost\range\concepts.hpp(257): error C3646: 'n': unknown override
1>\boost\range\concepts.hpp(264): note: see reference to class template
instantiation 'boost::range_detail::RandomAccessIteratorConcept<Iterator>'
being compiled
1>\range\concepts.hpp(257): error C4430: missing type specifier - int
assumed. Note: C++ does not support default-int

Unfortunately I'm not competent enough to determine what is causing the

Full struct:
 template<class Iterator>
         struct RandomAccessIteratorConcept
             : BidirectionalIteratorConcept<Iterator>

                 i += n;
                 i = i + n;
                 i = n + i;
                 i -= n;
                 i = i - n;
                 n = i - j;
 // MSVC 14.1 - avoid C4596: 'difference_type': illegal qualified name in
member declaration
 #if defined(_MSC_VER) && _MSC_VER >= 1912
             BOOST_DEDUCED_TYPENAME difference_type n;
RandomAccessIteratorConcept::difference_type n;
             Iterator i;
             Iterator j;

br/Viktor Sehr

Boost list run by bdawes at, gregod at, cpdaniel at, john at