Don't derive from std::iterator which is deprecated in C++17
Visual C++ warns About deriving from the deprecated std::Iterator which was never required in the first place. From the warning message it is not clear what line in Code causes the Problem. I compiled dune-grid, but I guess it is iteratorfacades.hh.
warning C4996 : 'std::iterator<std::random_access_iterator_tag,Dune::FieldVector<double,3>,D,V *,R>::reference': warning STL4015: The std ::iterator class template (used as a base class to provide typedefs) is deprecated in C++17. (The header is NOT d eprecated.) The C++ Standard has never required user-defined iterators to derive from std::iterator. To fix this warning, st op deriving from std::iterator and start providing publicly accessible typedefs named iterator_category, value_type, differe nce_type, pointer, and reference. Note that value_type is required to be non-const, even for constant iterators. You can def ine _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING or _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS to acknowledge that yo u have received this warning.