diff --git a/src/json.hpp b/src/json.hpp index 3fb89ea21..ee525c917 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -8686,7 +8686,7 @@ class basic_json /// access to successor reference operator[](difference_type n) const { - return base_iterator::operator[](n); + return *(this->operator+(n)); } /// return the key of an object iterator diff --git a/test/src/unit-iterators2.cpp b/test/src/unit-iterators2.cpp index 2be349b3d..ae8ce6872 100644 --- a/test/src/unit-iterators2.cpp +++ b/test/src/unit-iterators2.cpp @@ -833,15 +833,15 @@ TEST_CASE("iterators 2") auto it = j_object.rbegin(); CHECK_THROWS_AS(it[0], json::invalid_iterator); CHECK_THROWS_AS(it[1], json::invalid_iterator); - //CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); - //CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); + CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); + CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); } { auto it = j_object.crbegin(); CHECK_THROWS_AS(it[0], json::invalid_iterator); CHECK_THROWS_AS(it[1], json::invalid_iterator); - //CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); - //CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); + CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); + CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.209] cannot use offsets with object iterators"); } } @@ -873,15 +873,15 @@ TEST_CASE("iterators 2") auto it = j_null.rbegin(); CHECK_THROWS_AS(it[0], json::invalid_iterator); CHECK_THROWS_AS(it[1], json::invalid_iterator); - //CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value"); - //CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value"); + CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value"); + CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value"); } { auto it = j_null.crbegin(); CHECK_THROWS_AS(it[0], json::invalid_iterator); CHECK_THROWS_AS(it[1], json::invalid_iterator); - //CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value"); - //CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value"); + CHECK_THROWS_WITH(it[0], "[json.exception.invalid_iterator.214] cannot get value"); + CHECK_THROWS_WITH(it[1], "[json.exception.invalid_iterator.214] cannot get value"); } }