mirror of
https://github.com/open-source-parsers/jsoncpp.git
synced 2025-10-17 19:25:52 +02:00
fix
In value.h, ValueConstIterator can convert to ValueIterator, I think that is a bug. the correct way is ValueIterator can convert to ValueConstIterator.
This commit is contained in:
@@ -129,6 +129,9 @@ ValueConstIterator::ValueConstIterator(
|
||||
const Value::ObjectValues::iterator& current)
|
||||
: ValueIteratorBase(current) {}
|
||||
|
||||
ValueConstIterator::ValueConstIterator(ValueIterator const& other)
|
||||
: ValueIteratorBase(other) {}
|
||||
|
||||
ValueConstIterator& ValueConstIterator::
|
||||
operator=(const ValueIteratorBase& other) {
|
||||
copy(other);
|
||||
@@ -149,7 +152,9 @@ ValueIterator::ValueIterator(const Value::ObjectValues::iterator& current)
|
||||
: ValueIteratorBase(current) {}
|
||||
|
||||
ValueIterator::ValueIterator(const ValueConstIterator& other)
|
||||
: ValueIteratorBase(other) {}
|
||||
: ValueIteratorBase(other) {
|
||||
throwRuntimeError("ConstIterator to Iterator should never be allowed.");
|
||||
}
|
||||
|
||||
ValueIterator::ValueIterator(const ValueIterator& other)
|
||||
: ValueIteratorBase(other) {}
|
||||
|
@@ -10,7 +10,6 @@
|
||||
#include <limits>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <iostream>
|
||||
#include <iomanip>
|
||||
|
||||
// Make numeric limits more convenient to talk about.
|
||||
@@ -2436,7 +2435,9 @@ JSONTEST_FIXTURE(IteratorTest, indexes) {
|
||||
|
||||
JSONTEST_FIXTURE(IteratorTest, const) {
|
||||
Json::Value const v;
|
||||
Json::Value::iterator it = v.begin(); // This *should not* compile, but does.
|
||||
JSONTEST_ASSERT_THROWS(
|
||||
Json::Value::iterator it(v.begin()) // Compile, but throw.
|
||||
);
|
||||
|
||||
Json::Value value;
|
||||
|
||||
|
Reference in New Issue
Block a user