yqq19851985 2017-11-27 08:02 采纳率: 0%
浏览 2960

QT下编写跨平台C++代码时的结构体赋值(c++11)

我在QT下做了一个跨平台(Linux和Win7)的C++代码工程,这个工程是一个底层引擎库,有外部接口。
但在我调用这个外部接口申请空间之后,给这个空间赋值时,却提示错误(Win7下提示,Linux下正常)。

代码如下:

VBU* vbu = ReqBuffers(2);// ReqBuffers是个接口,用于申请2个VBU结构体空间,并返回申请后的指针。
*vbu = {0.f, 1.f, 2.3f, 0.f};

*(++vbu) = {2.f, 5.f, 3.f, 1.f};

提示错误如下(win7下):
C2059:语法错误: "{"
C2143:语法错误: 缺少";" (在"{"的前面)
C2143:语法错误: 缺少";" (在"}"的前面)

提问:
1.我想知道这种赋值方法,是不是c++11的赋值风格?
2.为什么在Linux下好用,换到Win7下就不好用了?

  • 写回答

1条回答 默认 最新

  • oyljerry 2017-11-27 08:58
    关注

    Win7下,要看你用的编译器是否支持这种C++11的语法,一般VS2017是目前支持最好的

    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog