草庐IT

lync-2013

全部标签

c# - Visual Studio 2013 C++ 智能感知

我使用的是visualstudio2013C++,我的IntelliSense有点奇怪,例如,当我为constcon时em>IntelliSense选择器在const中,但尚未突出显示,因此我必须向下移动箭头然后按Enter。我怎样才能使它类似于C#IntelliSense,比如当我按下空格键或输入时它会自动选择const? 最佳答案 您应该改为按TAB键。选择器中的任何内容都会为您输入。例如,在您的示例中,当您键入con并且选择器位于const中时,按下TAB键,将键入const。 关

c++ - 无法在 VS 2013 社区中创建 C++ 项目

在我选择“Win32控制台应用程序”或“Win32项目”并通过向导后,我得到了一个空的解决方案。“新建项目”对话框再次弹出:尝试CLR类下的项目类型时报错:它说了一些关于访问OLE系统注册表的事情。但WindowsStoreC++应用程序项目和其他语言工作得很好。我尝试过:使用安装程序提供的修复功能。运行vs_community.exe/uninstall/force并重新安装。删除C:\ProgramFiles(x86)\MicrosoftVisualStudio12.0\Common7\IDE中的ProjectTemplatesCache和ItemTemplatesCache目录,

c++ - 使用模板特化、默认参数和 VS2013 编译错误

templatevoidf(constT&v=T());templatevoidf(conststd::string&v){std::cout();//ErrorinVS2013,OKinVS2012,gcc-4.7f("Test");//OKf(std::string());//OKreturn0;}对于必须使用默认参数的情况,最新的VisualStudio2013编译器会给出以下编译器错误:errorC2440:'defaultargument':cannotconvertfrom'conststd::string*'to'conststd::string&'Reason:cann

c++ - VS2013 : How to disable warnings for included header files outside of the project

在我的项目中,我包含了一个由外部库提供的头文件。使用/W3,所有内容都可以在没有警告的情况下编译。但是,我希望我的项目能够使用/W4进行干净地编译。这对我的代码来说没有问题,但外部header会发出大量警告。我知道我可以做这样的事情:#pragmawarning(push)#pragmawarning(disable:####)//includehere#pragmawarning(pop)但是有一长串要禁用的警告。有没有一种方法可以在包含此header时将警告级别设置回/W3,同时仍使用/W4编译我的其余代码?谢谢! 最佳答案 #

c++ - VS2013 - 多次包含同一 header 时出错

在将项目从VisualStudio2005移植到2013时,我遇到了这种我无法找到解释的奇怪行为。上下文是关于通过多次包含某个头文件来创建模板特化,但在每次包含之前更改预处理器定义以基本上生成不同的类声明。我可以将问题缩小为以下情况:gen.hpp#ifdefENABLE_GEN#ifdefGEN_SWAP_ORDER//(1)classFoo{};#elseclassBar{};#endif#endifmain.cpp#defineENABLE_GEN#include"gen.hpp"#defineGEN_SWAP_ORDER#include"gen.hpp"intmain(){Fo

c++ - Visual Studio C++ 2013 express 中的警告 c4819 - 没有 bom 的 utf8 文件

在visualstudioC++2013express中,似乎除非utf8编码文件有BOM标记,否则编译器无法理解正在编译的文件采用UTF8编码并将其视为采用native编码。而代码编辑器则没有这个问题。warningC4819:Thefilecontainsacharacterthatcannotberepresentedinthecurrentcodepage(932).SavethefileinUnicodeformattopreventdataloss是否有解决此问题的方法?我记得这是所有visualstudio版本中的常见问题,但我不记得曾经看到过修复程序。我不能一直为每个不

c++ - 以下代码在 VS 2013 Release/Debug 中产生不同的结果

这个问题在这里已经有了答案:Dodistinctfunctionshavedistinctaddresses?(4个答案)关闭7年前。这是VS2013编译器中的错误吗?以下代码在调试和发布时会产生不同的结果。在调试中结果符合预期,但在发布中它是“A”#includestructA{virtualvoid*getClass(){returnA::ID;};staticvoidID(){};};structB:publicA{virtualvoid*getClass(){returnB::ID;};staticvoidID(){};};structC:publicA{virtualvoid

c++ - long long VS 2013 Release Win 64 错误结果

当我在VS2013/Win64/Release中尝试这段代码时,我得到了错误的结果:它打印出11。在Visual2013Win32/Debug/Release&Win64/Debug中,结果是正确的。VisualStudio项目是使用默认参数创建的。#includeintmain(intargc,char*argv[]){longlonginc[2]={0,1};longlongdinc[2]={0,0};dinc[0]=inc[1]-inc[0];dinc[1]=inc[0]-inc[1];//expected-1==>display1for(inti=0;i如何解释这个结果?

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++ - std::thread 并在 visual studio 2013 中 move

我有一个只能move的类和一个按值获取此类对象的函数。在新线程中调用函数:voidfoo(MyClassa){}intmain(){MyClassa;std::threadt(&foo,std::move(a));}我得到一个编译器错误,因为缺少MyClass的复制构造函数(我删除了他),如果我实现他,复制构造函数就会被调用。显然这是一个错误,它在gcc中编译时没有复制构造函数。有什么解决方法吗? 最佳答案 如果方法需要a的所有权,通过堆传递它,最好是在shared_ptr中:voidfoo(std::shared_ptra){}[