在VS2013下编译的C ++代码无法在VS2015下编译

问题描述 投票:0回答:1

将大型项目从VS2013(Win7)移动到VS2015(Win10)。 95%的项目是VB .NET,我会很流利,并且转换没有问题。

不幸的是,有两个小的C ++模块,当我尝试编译时会返回大量错误,这些错误似乎是语法上的:

'std::array': too few template arguments<br>
'^':cannot use this indirection on type 'std:array'<br>
left of '->Length' must point to class/struct/union/generic type    

编写原始代码的C ++程序员声称C ++已经从VS2013发展到VS2015。我不是C ++人,所以我无法真正回应。他非常忙,并且对更新C ++部分不太感兴趣,建议我们使用VS2013 w / Win10,但我宁愿使用至少2015年,如果不是2017年更长寿命。

任何C ++人都可以对此作出回应吗?我觉得这个问题可能在编译器设置中,但我不确定在哪里看。

visual-studio-2015 c++-cli
1个回答
0
投票

如上所述,我不是一名C ++程序员,但是一个小小的谷歌搜索让我摆平了。托管和标准阵列中存在不兼容性。添加

#include stdafx.h
#include <array> 

到两个模块并将数组声明更改为cli :: array做了诀窍 - 没有编译器错误并且从VB Net调用C ++ dll返回与早期VS 2013版本相同的结果。

再次感谢那些回复的人。

© www.soinside.com 2019 - 2024. All rights reserved.