mirror of
https://github.com/nlohmann/json.git
synced 2026-05-08 15:25:24 +00:00
docs: clarify value return type deduction (#5158)
This commit is contained in:
@@ -110,7 +110,7 @@ changes to any JSON value.
|
||||
The value function is a template, and the return type of the function is determined by the type of the provided
|
||||
default value unless otherwise specified. This can have unexpected effects. In the example below, we store a 64-bit
|
||||
unsigned integer. We get exactly that value when using [`operator[]`](operator[].md). However, when we call `value`
|
||||
and provide `#!c 0` as default value, then `#!c -1` is returned. The occurs, because `#!c 0` has type `#!c int`
|
||||
and provide `#!c 0` as default value, then `#!c -1` is returned. This occurs, because `#!c 0` has type `#!c int`
|
||||
which overflows when handling the value `#!c 18446744073709551615`.
|
||||
|
||||
To address this issue, either provide a correctly typed default value or use the template parameter to specify the
|
||||
|
||||
Reference in New Issue
Block a user