草庐IT

c++ - 使用 Visual Studio 2015 : error C3546 在 lambda 中扩展参数包

正在关注thisquestion,我尝试编译以下代码:templateautofor_each(type_list){return[](auto&&f){usingswallow=int[];(void)swallow{0,(void(f(tag{})),0)...};};}这适用于gcc,但在visualstudio2015中会产生以下错误:main.cpp(19):errorC3546:'...':therearenoparameterpacksavailabletoexpandmain.cpp(48):note:seereferencetofunctiontemplateinst

c++ - 为什么不编译? (VC++ 2015,#pragma omp flush)

这是一个最小的例子。在VisualC++2015上使用“/openmp”编译。#includevoidmain(){boolfoo=false;#pragmaompflush(foo)std::vectorbar;}我得到:C2146syntaxerror:missing';'beforeidentifier'bar'C2275'std::vector>':illegaluseofthistypeasanexpressionC2065'bar':undeclaredidentifier如果我注释掉#pragma,错误就会消失。如果我将std::vector替换为int,错误就会消失。如

c++ - 变量 args SFINAE 默认构造函数在 clang 中工作,但在 Visual Studio 2015 中失败

任何人都知道这段代码是否不好,或者VS是否有错误,或者Clang是否允许?我认为我的构造函数不应该接受任何参数并通过enable_if检查-但VS在某处说“不”。VisualStudio2015Update2出现以下错误:source_file.cpp(##):errorC2512:'Foo::Foo':noappropriatedefaultconstructoravailable现场直播:http://rextester.com/VWAI2954VS存在错误:http://rextester.com/PTDSS2853#include#includeusingnamespacest

c++ - VS2015 与 VS2013 中的不同优化导致浮点异常

我有一个从VS2013到VS2015的过渡过程中出现的问题的小例子。在VS2015中进一步提到代码示例导致浮点无效操作。intmain(){unsignedintenableBits=_EM_OVERFLOW|_EM_ZERODIVIDE|_EM_INVALID;_clearfp();_controlfp_s(0,~enableBits,enableBits);intcount=100;floatarray[100];for(inti=0;i这只发生在Release模式下,所以它可能是由不同的优化引起的。此代码有问题还是VS2015中的错误?很难在整个代码库中找到像这样的问题,所以我正

c++ - 如何将 Qt Creator 配置为用户 MSVC2015?

我已经使用来自官方QT站点的在线Qt安装程序安装了适用于Windows的Qt5.8SDK,支持MSVC2013x64和MSVC2015x64。因为webenginewidgets不支持MinGW编译器。但是我没有在QTCreator的构建环境配置窗口中选择编译器。但我已经安装了很多MSVC,包括MSVC2015_64和MSVC2015_32。我需要在此选项中设置什么才能从QTCreator编译程序? 最佳答案 安装VisualC++构建工具2015,但取消选中安装程序中的任何SDK。从微软网站安装windowsSDK10。安装qt5

c++ - 编译和链接项目时 Visual Studio 2015 挂起

我最近将VisualStudio2012更改为VisualStudio2015作为我的c++项目的编译器。进行此更改后,我注意到visualstudio会经常在构建过程中挂起。这在VisualStudio2012中从未发生过。挂起是随机发生的,不会发生在我项目中的相同构建点。当我在管理员模式下运行VS并让所有cl.exe和link.exe显示为命令提示符时,我能够看到它们何时挂起。并且没有抛出任何错误或任何东西。我成功解决此问题的唯一方法是将VisualStudio的构建过程设置为一次仅处理一个项目并且同时仅使用一个编译。但是我无法维持它,因为我的构建时间约为3-4小时(是的,这是一个

c++ - 如何在 VS2015 的监 window 口中查看 C++ 模板参数

我正在调试一些C++代码,其中包含一些以T作为模板参数的C++模板。我想在watch(或鼠标悬停)中看到T是什么类型。当我添加T观看时,它不显示类型。有没有办法在调试器中解析T参数?我可以在调用堆栈上看到模板参数类型。由于类型非常复杂,调用堆栈中的行很长,不适合我的显示。而且很难阅读。有没有办法解决调试器监视中的T参数?我使用VisualStudio2015Update3。 最佳答案 在watchwidow中添加_First或_Last,它们都是_Iter类型,解析后的类型会显示出来。我不认为有任何其他方式:在编译时_Iter被使用

c++ - MSVC++ 2015 - SSE 编译器错误或程序中的错误/未定义行为?

我在处理SIMD颜色插值函数时遇到了一些奇怪的行为,我将其缩减为一个最小程序。此示例中的SIMD代码不再执行lerp,而是执行从32位颜色到XMM寄存器的解包,然后再返回到32位。在MSVC++2015(更新3)中,在Releasex64模式下,以下代码不会产生正确的结果,但在Debugx64或Release/Debugx86中它可以正常工作。这是空的Win32C++控制台应用程序项目中的唯一代码:#include#include#include#include#include"emmintrin.h"structColor4{uint8_tred;uint8_tgreen;uint8

c++ - 使用 Cmake 为 Visual Studio 2015 构建 OpenCV 3.0.0 的 DLL

按照此处的说明操作:docs.opencv.org/doc/tutorials/introduction/windows_visual_studio_Opencv/windows_visual_studio_Opencv.html#windows-visual-studio-how-to我在VS2015Community中设置了一个OpenCV项目并使用了预构建的库。它一直有效,直到我收到此消息:“您的计算机缺少MSVCP120D.dll”通过一些搜索,我了解到这意味着预构建库只能与旧版本的VS一起使用,所以我想我应该自己编译它们:docs.opencv.org/doc/tutoria

c++ - VS2015 CE - 无法找到 Link.exe

我正在尝试编译一些需要VisualStudio2015和C++支持的开源软件(Rust语言)。我的PATH变量必须包含link.exe的位置。我目前安装了VisualStudio2015CommunityEdition,以及两个C++Redistributables(x86和x64)。我无法在任何目录中找到link.exe。在哪里可以找到link.exe?它住在别的地方吗?我的安装是否损坏? 最佳答案 默认安装不包括C++工具。这可以通过在安装程序中启用编程语言->VisualC++选项来解决。