我在QT下做了一个跨平台(Linux和Win7)的C++代码工程,这个工程是一个底层引擎库,有外部接口。
但在我调用这个外部接口申请空间之后,给这个空间赋值时,却提示错误(Win7下提示,Linux下正常)。
VBU* vbu = ReqBuffers(2);// ReqBuffers是个接口,用于申请2个VBU结构体空间,并返回申请后的指针。
*vbu = {0.f, 1.f, 2.3f, 0.f};
提示错误如下(win7下):
C2059:语法错误: "{"
C2143:语法错误: 缺少";" (在"{"的前面)
C2143:语法错误: 缺少";" (在"}"的前面)
提问:
1.我想知道这种赋值方法,是不是c++11的赋值风格?
2.为什么在Linux下好用,换到Win7下就不好用了?
Win7下,要看你用的编译器是否支持这种C++11的语法,一般VS2017是目前支持最好的