Я пишу программу, которая управляет виртуальными машинами между хостами. У меня есть информация о процессоре и оперативной памяти, которая нуждается в виртуальной машине, и информация о ЦП ОЗУ+о хосте. Я могу добавить виртуальную машину для размещения, заменить VR на тот, который мне нужно разместить или отрицать размещение виртуальной машины. Итак, когда я попытался проверить свою программу с помощью виртуальной машины, которую можно разместить с помощью метода «Добавить», это было хорошо, но когда моя программа пытается выполнить «Заменить» метод, она останавливает программу с «ошибкой сегментации». Я ищу то, что называет эту проблему - по какой -то причине, когда я проверяю vmachines.size () в начале метода «Заменить», он возвращает мне очень большое количество. Я также проверил, появляется ли этот большой размер в другой функции, но это не так. Так что я не знаю, что делать. Я буду очень благодарен, если вы можете ответить мне, почему я получаю такое большое количество в итерации, где виртуальная машина не может быть просто добавлена и должна быть заменить.
Я также извиняюсь за свой стиль кода. Это должен был быть просто прототип, и я не думал о том, как это читаемо) ': < /p>
#include
#include
#include
enum class Params{error, success, move};
class Logs
{
public:
Logs() = default;
~Logs() = default;
void add(std::string msg, int param)
{
switch (param){
case static_cast(Params::error):
addParam = "\x1b[31;1m";
break;
case static_cast(Params::success):
addParam = "\x1b[32;1m";
break;
case static_cast(Params::move):
addParam = "\x1b[33;1m";
break;
default:
addParam = "";
}
logList.push_back(addParam + msg + addParam + "\n");
}
void check()
{
if(logList.empty())
{
std::cout
Подробнее здесь: https://stackoverflow.com/questions/795 ... -c-program