【发布时间】:2017-12-20 04:12:26
【问题描述】:
将大型项目从 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++ 部分不太感兴趣,建议我们使用带 Win10 的 VS2013,但我宁愿至少使用 2015 年,如果不是 2017 年,以获得更长的使用寿命。
任何 C++ 人都可以对此做出回应吗?我觉得这个问题可能出在编译器设置中,但我不确定在哪里查看。
【问题讨论】:
-
如果没有可重现的代码就无法回答,否则这将成为一次钓鱼探险
-
"...'^':cannot use thisindirection on type 'std:array'..." 可能表明原始项目是 C++CLI (dotNET ) 不是纯 C++
-
什么是“C++ prog”?您的意思是“C++ 程序员”吗?无论如何,他错了。从 VS2013 到 VS2015,C++ 没有显着变化,Visual C++ 也没有。语言的巨大变化是从 C++03 到 C++11。但更糟糕的是:您的问题显然与 C++ 语言更改无关,因为您的问题听起来好像您从未使用过 C++,而是一种名为“C++/CLI”的科学怪人语言,它(曾经)松散地基于C++。
-
非常感谢理查德。看起来您可能已经很快发现了问题。从快速检查来看,dotNet 和纯 C++ 版本似乎存在许多差异。给了我一些追求。再次感谢所有回复的人。
标签: visual-studio-2015 c++-cli