Я решил свою проблему. Мы можем просто отправить заголовок в application / json и передать тело как объект json. Это просто решает проблему.
Возврат обратного итератора к обратному концу Возвращает обратный итератор, указывающий на теоретический элемент, предшествующий первому элементу в векторе (который считается его обратным концом).
Диапазон между vector :: rbegin и vector :: rend содержит все элементы вектора (в обратном порядке).
blockquote>теоретический элемент, предшествующий первому -> На него нельзя ссылаться. Это не указывает на элемент.
Я предполагаю, что вы хотите сделать:
v.back()->push_back({});
Это, учитывая, что
v
не является пустым. Сначала вы должны сделатьv.push_back({})
, если он пуст в качестве примера.
Что касается IDE, это должно быть проблемой конфигурации. Я в основном работаю над Eclipse, там эта проблема обычно решается:
Установка параметров компилятора в соответствии с настройками вашего cmake (например, проекты C ++ по умолчанию не поставляются с c ++ 11 включен, поэтому вы должны убедиться, что он имеет -std = c ++ 11 в настройках компилятора IDE).
Повторное сканирование для всех включает.
Обычно вы можете попытаться проверить, не распознано ли что-то (например, недоудача по ключевому слову vector). И когда вы нажмете Ctrl + клик по вектору, вы сможете увидеть, какой заголовок использует IDE и какой код он использует (могут быть некоторые ifdef, а некоторые могут быть не активированы, например, например, __cppversion> = 201103L или что-то подобное означает IDE считает, что у вас нет компилятора C ++ 11).
Вздох. У вас есть пара проблем, и не совсем очевидно, что вас волнует.
CLion не удалось показать std::reverse_iterator<...>
методы.
Ни итераторы end()
, ни rend()
в любом случае не могут быть разыменованы, поэтому они не указывают на что-либо . Поэтому, даже если у типа точки итератора есть этот метод, вызывать его было бы недопустимо, потому что там нет объекта.
Вы можете добавить элемент к последней записи в вашем внешнем векторе, например,
v.back().push_back({});
, если вы этого хотите. Но, как последнее напоминание, методы end()
и rend()
возвращают один и тот же итератор, который не может быть разыменован. Не делай этого.
Итак, вы используете CLion IDE и систему сборки Bazel, и вы не получаете автозаполнения в своем коде C ++. Автозаполнение работает, когда вы переключаетесь на систему сборки CMake.
Согласно документации Bazel , их интеграция CLion для автозаполнения находится в бета . При нажатии на их документы IntelliJ (по ссылке в разделе CLion) только Java и Python перечислены в качестве поддерживаемых языков .
Итак, это просто пока не поддерживается.
Вы можете запросить подтверждение у команды разработчиков этого проекта и информацию о том, когда может появиться поддержка C ++ в Bazel для CLion.
Кстати, у вас есть ошибка в вашем коде: rbegin()
не будет разыменовываться, когда вектор пуст. Хотя, надеюсь, этот фрагмент был просто экспозицией.