草庐IT

lync-2013

全部标签

c++ - VC++ 2013 : using-declaration + redefinition of member function leads to compile error

我想通过指定策略允许修改我的类的行为。该策略应该用作boost::variant的访问者。有适合大多数情况的默认策略,但用户可能需要添加或替换一些重载。我发现vc++2013没有编译此代码并出现错误C3066:Therearemultiplewaysthatanobjectofthistypeofcanbecalledwiththesearguments。相同的代码在gcc和clang中按预期编译和工作。是vc++2013的错误吗?#includestructDefaultPolicy{voidoperator()(bool){std::coutUPD这个例子适用于vc++2010。看

c++ - Visual Studio 2013 dll 导出链接错误 (LNK2019/LNK1120)

我知道之前有人问过类似的问题,但看起来在类导出方面与简单函数有所不同......我已经检查了所有这些解决方案,检查了所有建议,但看起来我仍然是遗漏了一些东西......发生了什么:我有一个用VisualStudio2013编写的主C++项目,我想添加一个包含各种实用程序的dll库。我创建了一个虚拟的,基本上没有任何功能,但它无法编译:2>TestSvc_i.c2>TestSvc.obj:errorLNK2019:unresolvedexternalsymbol"__declspec(dllimport)public:__thiscallCUtils::CUtils(void)"(__i

c++ - Visual Studio 2013 Update 3 中的 C++/Zo 在哪里

http://www.visualstudio.com/news/2014-aug-4-vs提到了一个新的编译器开关,可以通过优化进行更好的调试,但我终究找不到它。有谁知道它在哪里以及如何打开它?C++/ZoCompilerSwitch/Zoisacompilerswitchthatgeneratesricherdebugginginformationforoptimizedcode(non/Odbuilds).Thisincludesimprovedsupportfordebugginglocalvariables.(Minimumedition:Express)

c++ - GCC 与 VS2013 中 std::setprecision(0) 的正确行为

根据我使用的编译器,我在n=0时得到这个函数的不同输出。std::stringToStrWPrec(doublea_value,constintn){std::ostringstreamout;out(GCC)4.8.320140911(RedHat4.8.3-9)为ToStrWPrec(1.2345678,0)返回1。对于相同的代码,VS2013返回1.2346。我的问题是:setprecision的正确/标准行为是什么?什么是使用setprecision的好替代方法?这是根据下面的评论更新的代码std::stringToStrWPrec(doublea_value,constint

c++ - Visual Studio 2013 C++ - 将 std::unique_ptr 传递给绑定(bind)函数

使用VisualStudio2013RC和C++,我尝试将std::unique_ptr传递给已使用std::bind绑定(bind)的函数。但是,我遇到了麻烦,因为当我尝试这个时VS似乎不喜欢它。这是我要编译的内容:#include#include#includevoidfunc(std::unique_ptrarg){std::cout)>bound=std::bind(&func,std::placeholders::_1);std::unique_ptrptr(newint(42));bound(std::move(ptr));return0;}这可以在GCC4.8.1中编译,

c++ - #include <opencv2/opencv.hpp> 在 VS 2013 中不起作用

我有VS2013社区版,我刚刚在目录c:\openCV3中安装了OpenCV,并且有一个构建子文件夹和一个include子文件夹等,一切看起来都很正常。所以我用#include行创建了一个空项目但我明白了Error1errorC1083:Cannotopenincludefile:'opencv2/opencv.hpp':Nosuchfileordirectoryd:\devt\cplusplus\opencv\test1\test1\source.cpp11Test1不过,我已将项目的附加包含目录修改为:C:\OpenCV3\build\include\opencv;C:\OpenC

c++ - 当 VS2008 用作工具集时,Visual Studio 2013 显示空项目属性

VisualStudio选择使用VS90作为其工具集的配置时,不会显示C++项目的项目属性。当我右键单击受影响解决方案中的项目并从上下文菜单中选择“属性”时,属性对话框显示为空:我记得它过去常常显示正常的编译器选项,即使对于较旧的工具集也是如此。什么会导致这种行为? 最佳答案 我能够通过确保MSBuild中的VCTargetsPath(以及VS2013属性的相应VCTargetsPath12)包含尾随反斜杠来修复它。通过使用sysinternals的ProcessMonitor监控devenv.exe进程发现了这一点,并注意到由于缺

c++ - Visual Studio 在转换为 2013 的项目上使用较旧的 2012 编译器

我从VS2012继承了一个(小型)构建系统,我们的团队希望将其带到VS2013。我已经在解决方案上运行向导以“转换”到2013,这已经尽职地将各种.vcxproj文件中的VisualStudioVersion和ProjectToolsVersion更改为“12.0”,并在这里和那里添加了一些额外的字段,没有报告任何错误或警告。但是,IDE仍将这些项目显示为2012:Solution'foo'Bar(VisualStudio2012)IDE仍然允许我“升级”这些项目。我确实注意到转换过程也没有触及任何.props文件,我已经完成并手动更新了它们,但它似乎仍然没有使用最新版本的编译器并且I

C++ 11 用户定义文字与 Microsoft Visual Studio 2013

据我所知,UDL包含在MVS2013中并受支持。我曾尝试过这样的事情:myclassoperator""_suffix();intoperator""_suffix();以上两行都在“”处给出了错误,表示它需要一个运算符(operator)。我的猜测是项目设置有问题,因为代码应该可以工作并且UDL受MVS13支持。可能是什么问题,我该如何解决? 最佳答案 MSVC2013或更低版本不支持用户定义的文字。但是,它们在MSVC“14”CTP中受支持,并将成为最终MCVC2015版本的一部分。资料来源:C++11FeaturesinMSV

c++ - VS2013中的SFINAE

我有一个函数模板forwardMaybeNull。我希望它可以在第一个参数不是nullptr时转发它,如果第一个参数是nullptr则只返回第二个参数。template::value>...>U&&forwardMaybeNull(std::nullptr_t,U&&rvalue_default){returnstd::move(rvalue_default);}template::value>...>T&&forwardMaybeNull(std::remove_reference_t&arg,U&&){returnstatic_cast(arg);}template::value>