Я пытаюсь исправить эту ошибку, я все еще изучаю cinder и C++. Может кто-то, пожалуйста, помогите с этим. Спасибо заранееConstructor for must explicity инициализирует элемент, который не имеет конструктора по умолчанию
Ошибка: «Конструктор„SerialHandler“должен в явной инициализации члена„серийный“, который не имеет конструктор по умолчанию»
SerialHandler.h
class SerialHandler
{
public :
SerialHandler(){}; // <- error here
cinder::Serial serial; // <-
void setup();
bool isDone;
bool isonline;
};
SerialHandler.cpp
#include "SerialHandler.h"
void SerialHandler::setup()
{
isDone =true;
try {
Serial::Device dev = Serial::findDeviceByNameContains("cu.usbmodem1411");
serial.Serial::create(dev, 115200);
console() << "Serial Connected" << std::endl;
isonline =true;
}
catch(...) {
console() << "There was an error initializing the serial device!" << std::endl;
isonline =false;
const vector<Serial::Device> &devices(Serial::getDevices());
for(vector<Serial::Device>::const_iterator deviceIt = devices.begin(); deviceIt != devices.end(); ++deviceIt) {
console() << "Device for MAIN?: " << deviceIt->getName() << endl;
}
}
}
Каков ваш вопрос? Ошибка компилятора говорит, что все! – SergeyA
Вам нужно использовать список инициализации ctor для инициализации члена, у которого нет значения по умолчанию ctor (в данном случае 'cinder :: Serial') – Borgleader
* Я все еще изучаю cinder и C++ * - Ошибка была очевидной. Показывает, что попытка использовать фреймворки для изучения C++ не такая хорошая идея. – PaulMcKenzie