【第22期】观点:IT 行业加班,到底有没有价值?

QT invalid application of 'sizeof' to incomplete type 错误解决

原创 2016年05月31日 21:34:59
在用QT的串口类的时候,使用了QSeriport::BaudRate等等之类的类型,使用QComboBox来把所有的BaudRate加到控件中供选择:
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud1200), QVariant(QSerialPort::Baud1200));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud2400), QVariant(QSerialPort::Baud2400));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud4800), QVariant(QSerialPort::Baud4800));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud9600), QVariant(QSerialPort::Baud9600));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud19200), QVariant(QSerialPort::Baud19200));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud38400), QVariant(QSerialPort::Baud38400));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud57600), QVariant(QSerialPort::Baud57600));
ui->boadRate->addItem(PortHelper::GetBaudString(QSerialPort::Baud115200), QVariant(QSerialPort::Baud115200));

之后使用

ui->boadRate->currentData().value<QSerialPort::BaudRate>()

来取出附加数据的时候编不过,提示:
invalid application of 'sizeof' to incomplete type 'QStaticAssertFailure<false>'
然后查资料发现是QVarient不认识QSerialPort::BaudRate类型
添加
Q_DECLARE_METATYPE(QSerialPort::BaudRate);
然后问题解决。
所以不光是自定义的类型在使用到QVarient时要加声明,在使用QT自带的类型但是没有在QMetaType中的都需要添加声明。
版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

解决:invalid application of `sizeof' to incomplete type `({anonymous})'错误

这个错误的原因: sizeof不能用在extern变量, sizeof 的计算发生在代码编译 的时刻。。 extern 标注的符号 在链接的时刻解析。。。  所以 sizeof 不知道 这个符...

"cvc-complex-type.2.4.a: Invalid content was found starting with element 'init-param'. One of '{"http://java.sun.com/xml/ns/javaee":run-as, "http://java.sun.com/ xml/ns/javaee":security-role-ref}' is expected." 的解决方法

项目使用的是Spring MVC,之前使用的 web.xml 使用的是2.4版本的,今天把它升级至2.5版本,但是升级之后,spring mvc 的 servlet 的声明报错了: &lt;servlet&gt; &lt;servlet-name&gt;a...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

struts2关于A web application created a ThreadLocal with key of type 异常解决办法

<span class="Apple-style-spa

Qt 编译报错 error: invalid use of incomplete type 'class QXxx'

编译报错 头文件中信号: signals: sendStrm(QString str); sendSize(QSizeF size);信号类,槽函数所在类,单独编译...

The content of element type "field" is incomplete

修改了search功能的filed后,重新启动opencms,在opencms的logs里面发现:   Caused by: org.xml.sax.SAXParseException: The content of element type "field" is in...
  • cai555
  • cai555
  • 2008-10-17 17:55
  • 1600
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)