Я столкнулся с этой ошибкой
Необработанная ошибка: исключение выравнивания при использовании указателей RapidJSON.
Я пробовал разные вещи с минимальным успехом.
rapidjson::Document jsonDoc;
rapidjson::Pointer("/levelOne/levelTwo/value").GetWithDefault(jsonDoc, "value1");
rapidjson::Document jsonDoc;
if (rapidjson::Pointer("/levelOne/levelTwo/value").Get(jsonDoc) == nullptr) {
rapidjson::Pointer("/levelOne/levelTwo/value").GetWithDefault(jsonDoc, "value1");
}
rapidjson::Document jsonDoc;
if (rapidjson::Pointer("/levelOne/levelTwo/value").Get(jsonDoc) == nullptr) {
rapidjson::Pointer("/levelOne/levelTwo/value").Create(jsonDoc);
rapidjson::Pointer("/levelOne/levelTwo/value").Set(jsonDoc, "value1");
}
rapidjson::Document jsonDoc;
if (rapidjson::Pointer("/levelOne/levelTwo/value").Get(jsonDoc) == nullptr) {
rapidjson::Pointer("/levelOne/levelTwo/value").Set(jsonDoc, "value1");
}
Все вышеперечисленное приводит к ошибке исключения выравнивания (Примечание: возникла ошибка после вызовов Create
, Set
или GetWithDefault
. Get
звонки не вызвали неисправности.). Минимальный достигнутый прогресс был:
rapidjson::Document jsonDoc;
if (rapidjson::Pointer("/levelOne/levelTwo/value").Get(jsonDoc) == nullptr) {
rapidjson::Pointer("/levelOne").Create(jsonDoc);
rapidjson::Pointer("/levelOne/levelTwo").Create(jsonDoc);
rapidjson::Pointer("/levelOne/levelTwo/value").Create(jsonDoc);
rapidjson::Pointer("/levelOne/levelTwo/value").Set(jsonDoc, "value1");
}
Вышеупомянутое успешно прошло через начальное создание (rapidjson::Pointer("/levelOne").Create(jsonDoc)
) перед тем, как столкнуться с ошибкой.
Любые отзывы о том, где я ошибаюсь, используя rapidjson::Pointer
?