0

I'm getting many errors in the STL (set, vector, deque, etc.) where the macro _NOEXCEPT_PO is used. The same code compiles fine in Visual Studio 2010, whose STL doesn't include _NOEXCEPT_PO macros. I've replicated this error across three PCs. Are there additional preproc definitions I need to be aware of?

Error given is:

C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include\vector:852: warning: C4346: 'std::vector<_Ty,_Alloc>::std::vector<_Ty,_Alloc>::_Alty::propagate_on_container_move_assignment::value': dependent name is not a type

_Myt& operator=(_Myt&& _Right)
    _NOEXCEPT_OP(_Alty::propagate_on_container_move_assignment::value
        || _Alty::is_always_equal::value)
    {   // assign by moving _Right
    if (this != &_Right)
        {   // different, assign it
        _Tidy();
        if (_Alty::propagate_on_container_move_assignment::value
            && this->_Getal() != _Right._Getal())
            this->_Move_alloc(_Right._Getal());

        _Assign_rv(_STD forward<_Myt>(_Right));
        }
    return (*this);
    }

_NOEXCEPT_OP is defined as:

#define _NOEXCEPT   noexcept
#define _NOEXCEPT_OP(x) noexcept(x)

Edit:

While working to reduce this to a small example, I found that it was the inclusion of Juce headers that made the difference. Unfortunately the error message wasn't very helpful, so I didn't realize the inclusion of Juce was relevant.

The fix for this particular issue is to define: JUCE_COMPILER_SUPPORTS_NOEXCEPT=1

Ken
  • 693
  • 1
  • 7
  • 15

1 Answers1

0

The fix for this particular issue is to define: JUCE_COMPILER_SUPPORTS_NOEXCEPT=1

Ken
  • 693
  • 1
  • 7
  • 15