的构造函数必须明确初始化没有默认构造函数的成员 我正在努力解决这个错误,我还在学习煤渣和C++。 有人能帮忙吗。先谢谢你
错误: “SerialHandler”的构造函数必须明确初始化没有默认构造函数的成员“serial” SerialHandler.h的构造函数必须明确初始化没有默认构造函数的成员 我正在努力解决这个错误,我还在学习煤渣和C++。 有人能帮忙吗。先谢谢你,c++,cinder,C++,Cinder,错误: “SerialHandler”的构造函数必须明确初始化没有默认构造函数的成员“serial” SerialHandler.h class SerialHandler { public : SerialHandler(){}; // <- error here cinder::Serial serial; // <- void setup(); bool isDone; bool isonline; }; 类序列化处理程序 { 公众: SerialHan
class SerialHandler
{
public :
SerialHandler(){}; // <- error here
cinder::Serial serial; // <-
void setup();
bool isDone;
bool isonline;
};
类序列化处理程序
{
公众:
SerialHandler(){}//这个问题没有从错误消息中所假设的那么简单。cinder::Serial
有一个受保护的构造函数,因此您甚至不能将Serial
对象作为类的成员。Serial::create
是一个静态成员函数,它返回一个SerialRef
对象(它是指向串行
实例的共享指针)
因此,您的类声明应该有如下内容:
class SerialHandler {
...
cinder::SerialRef serial;
...
};
您的create
调用SerialHandler::setup()
应该如下所示:
serial = cinder::Serial::create( dev, 115200);
您的问题是什么?编译器错误说明一切!您需要使用ctor的初始化列表初始化没有默认ctor的成员(在本例中为cinder::Serial
)我还在学习煤渣和C++——错误是显而易见的。显示尝试使用框架来学习C++不是一个好主意。谢谢!我正在从错误中学习。
serial = cinder::Serial::create( dev, 115200);