VS2015+QT运行C# dll,出现“错误C2182 “t”: 非法使用“void”类型”的解决方案

VS2015+QT运行C# dll,出现“错误C2182 “t”: 非法使用“void”类型”的解决方案

问题

项目开发期间,需要在vs2015下使用QT调用别人开发好的C# dll。本人发现,在设置完公共语言支持CLR后,QT的头文件QtCharts会和CLR环境产生冲突,导致几十条这种C2182错误。

错误C2182 “t”: 非法使用“void”类型 (编译源文件 bolt.cpp) qt	E:\QT5.9\5.9.7\msvc2015\include\QtCore\qvector.h
错误 C2182 “at”: 非法使用“void”类型 (编译源文件 bolt.cpp) qt	E:\QT5.9\5.9.7\msvc2015\include\QtCore\qvector.h

解决方案

将原头文件

#include <QtCharts>

改为:

#pragma unmanaged
#include <QtCharts> 
#pragma managed

便可编译成功。

参考链接

关于该问题,中文博客这类资料较少,在这里作记录,为后面的人避坑。本人参考链接如下:
https://stackoverflow.com/questions/29610546/qvector-h74-error-c2182-t-illegal-use-of-type-void

有用请随手点赞+关注,谢谢!
(本人小硕士生一枚,主要研究方向包括:计算机视觉、三维重建、机器人等)

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值