У меня есть две структуры (часть задания). Список один - действие, содержащееся в другом - процесс. Затем несколько родительских структур процесса содержатся в очереди приоритетов.Проблемы с C++ со списком struct push_back
struct Activity {
public:
int time;
string type;
Activity(int newTime, string newType):
time(newTime),type(newType){}
};
struct Process {
public:
string PID;
int arrivalTime;
int priority;
list<Activity> activityQueue;
Process(string newPID, int newTime, int newPriority, list<Activity>
newActivityQueue):
PID(newPID),arrivalTime(newTime), priority(newPriority),
activityQueue(newActivityQueue){}
};
Я получаю следующее сообщение об ошибке ...
main.cpp:206:61: error: passing ‘const std::list<Activity>’ as ‘this’ argument of
‘void std::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Activity,
_Alloc = std::allocator<Activity>, std::list<_Tp, _Alloc>::value_type =
Activity]’ discards qualifiers [-fpermissive]
... когда я пытаюсь push_back активности activityQueue процесса, в.
Activity currentActivity = cpuQueue.top().activityQueue.back();
currentActivity.time--
cpuQueue.top().activityQueue.push_back(currentActivity);
Нам было бы намного легче, если бы вы сделали минимальный пример проблемы. – Listing
Я предполагаю, что 'cpuQueue.top()' возвращает ссылку на const. –
@MichaelBurr Это почти наверняка правильный ответ. – dasblinkenlight