QtCreator, cmake. Не даёт проитерироваться по вектору объектов и передать их в функцию.
Ошибка /home/bai/pplab1/main.cpp:19: ошибка: call to implicitly-deleted copy constructor of 'Detail'
for (Detail counter : listDetail) {
^ ~
Код:
#include <iostream>
#include <vector>
#include "machine.h"
#include "detail.h"
#include <thread>
#include <chrono>
using namespace std::chrono_literals;
void Process(Detail &list_p) {
while(list_p.Get_machine_list().size() > 0 && list_p.Get_state() < 3) {
if (list_p.Get_last_time() > 0) {
int temp = list_p.Get_last_time();
list_p.Set_last_time(--temp);
}
std::this_thread::sleep_for(2s);
}
}
void Start(const std::vector<Detail> &listDetail) {
for (Detail counter : listDetail) {
Process(counter);
}
}
int main() {
std::vector<Machine>listMachine = {{1, "Collector"}, {2,"Painter"}, {3, "Polisher"}};
std::vector<Detail>listDetail = {{1, "LadaPriora", 3, listMachine[0], listMachine[1]}, {2, "KiaRio", 4, listMachine[2]},
{3, "FordFocus", 7, listMachine[1], listMachine[2]}, {4, "ToyotaPrado", 9, listMachine[0]}};
std::cout << "N | ";
for (auto &x : listMachine){
std::cout << " R" << x.Get_id() << " ";
}
std::cout << " | ";
for (auto &x : listDetail) {
std::cout << " P" << x.Get_id() << " ";
}
std::cout << std::endl;
Start(listDetail);
return 0;
}
UPD: Исправил строку:
void Start(std::vector<Detail> &listDetail) {
for (Detail &counter : listDetail) {
Process(counter);
}
}
Но появилась ошибка
/usr/include/c++/6.3.0/bits/stl_construct.h:75: ошибка: call to implicitly-deleted copy constructor of 'Detail'
{ ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ну вам же прямо говорит компилятор: у вашего класса отсутствует конструктор копирования. В вашем for просто обращайтесь к по ссылке.
А ещё конструктор вектора не может принимать объекты без конструктора копирования (по крайней мере в таком виде). Если вы используете 11 стандарт, то просто создайте пустой вектор и заполните его с помощью emplace_back.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Всем привет, мне нужно построить код внутри шаблона который тоже будет шаблоном Вот мой код
Объявляю $watch на переменную, но вылетает эта ошибка:
Возможно сделать так, что при открытии html файла, он сразу выводился на печать (в PDF) без данного окна? (изображение ниже)
Есть div, который не имеет ни класса, ни id или nameРедактировать html код этого тега нельзя (то есть нельзя приписать ему идентификатор)