У меня проблема с моим кодом для преобразования объектов jSon.Я пытаюсь написать цикл, который принимает вектор, и если вектор имеет инверсию, сохраните ее в объекте jSon.Единственная реальная проблема, с которой я столкнулся - это правильный вывод.Я получаю сообщение об ошибке при попытке использовать переменную в качестве значения ключа при ожидании строки.Мой главный вопрос - как мне преобразовать мое целое число в строку, чтобы код принимал ее и печатал правильно?
for(auto j = 0; j <= myvec.size(); j++){
m = j+1;
if(m > myvec.size()){
break;
}
if(name == metad){
break;
}
if(myvec[m] != 0){
if(myvec[j] > myvec[m]){
jcount = j;
jsonresult.emplace_back(nlohmann::json::object_t::value_type(j,{ myvec[j], myvec[m]}));
count++;
}
Основная проблема в строке emplace_back, где он не позволил бы мне использовать j в качествеправильное значение ключа, приводящее к ошибке
error: no matching function for call to ‘std::pair<const std::__cxx11::basic_string<char>, nlohmann::basic_json<> >::pair(int&, <brace-enclosed initializer list>)’
jsonresult.emplace_back(nlohmann::json::object_t::value_type(j,{myvec[j], myvec[m]}));
Итак, я предполагаю, что мой вопрос заключается в том, как заставить его правильно хранить динамическую переменную, чтобы мой код выводил это
1":[811700988,797039],"2":[797039,-1680733532]
вместо
[
2,
797039,
-1680733532
]
Спасибо за любую помощь, спасибо!