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个回答

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

yangqianqian1985
yqq19851985 哦,也就是说这种语法肯定是C++11的语法呗?我对c++11不了解,小白。
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!