Марка как char — это ОДИН СИМВОЛ. Не «Volkswagen», а «V».
А char* — это просто указатель на строчку символов, независимо от того, откуда эта строчка взялась. Это может быть: 1) Указатель на чужую память — не надо delete[]; 2) Указатель на память, которой владеет наш объект — надо delete[]. Проблема-то в том, что функция Input подразумевает 2, а тело main — 1.
Касательно Input. Я промышленный прогер. И есть такая противная штука у преподов — они давно не писали ничего полезного. По крайней мере я так могу оценить Input как поле объекта.
Опять-таки, хорошая практика программирования — структуру данных (да хоть ту же строку) сделать отдельным классом — и деструктор прописать ЕЙ, а не большому прикладному классу.
Sergei Nazarenko, Но один хрен всё это «Охрана, отмена!» предназначено для того, чтобы сложнее было продавать товар в обход кассы. Точно так же должно быть сложно продавать игровое время в обход кассы.
Владимир Коршунов, Я думал, написать это или нет, но вы задали вопрос.
Снаружи в качестве vectRvalue годится только временный объект. Но внутри этот параметр — ОБЫЧНАЯ ссылка.
Так что надо std::vector newVect(std::move(vectRvalue));
В любом случае растровый ориентируется на окончательное разрешение картинки и сверх этого разрешения или вообще не увидишь, или увидишь очень ограниченно. Векторный позволяет таскать их как хочешь.
Александр Ананьев, Правда, ненавижу сам Qt’шный механизм, когда ИДЕНТИФИКАТОР — это исходная строка. За две вещи:
1. Отсутствие преемственности, из-за чего доперевод длинных строк — такое ещё пекло.
2. А для коротких строк — лучше дублирование, чем смешение контекстов: самостоятельная или участник сборки, в жёсткой вёрстке и нет, в надписи и заголовке.
AlexSer, .pro-файл тут ни к чему. Может, и есть способ перекинуть папку с плагинами в чуть другое место, но за это отвечает не .pro, а код, набитый в main().