Вот у меня есть класс:
class Cube
{
public:
int x, y, size;
Cube(int x, int y, int size) : x(x), y(y), size(size) {}
QRectF getRect(){
return QRectF(x, y, size, size);
}
};
И я хочу поместить его в контейнер:
QVector<Cube> v;
v.push_back(Cube(1, 1, 1));
И получаю ошибку:
error: no matching function for call to 'Cube::Cube()'
new (from++) T();
^
Чем она вызвана и как её исправить?
У вас не определен конструктор по умолчанию. У вас есть
Cube(int x, int y, int size) : x(x), y(y), size(size) {}
но нет такого
Cube() {}
вообще лучше записать что-то вроде:
Cube(int x = 0, int y = 0, int size = 0) : x(x), y(y), size(size) {}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Сейчас: Код ищет количество точек, через которое пройдёт алгоритм для возвращения в исходную позицию