草庐IT

labels_true

全部标签

c++ - 'unused' 的初始化被 'goto label' 跳过 - 为什么我为 std::string 而不是为 int 获取它?

我在某些代码中遇到了这个错误,经过一些试验后我偶然发现了这个怪异之处——我为std::string得到了它,但没有为int得到它。对于std::string我得到errorC2362:initializationof'unused'isskippedby'gotolabel':{gotolabel;std::stringunused;label:;}对于int我没有收到任何错误,但是:{gotolabel;intunused=10;label:;}为什么不同?是因为std::string有一个非平凡的析构函数吗? 最佳答案 这包含在

c++ - LogonUser 为错误的密码返回 true

boolbRet=LogonUser(strUserName,L"",strPassword,LOGON32_LOGON_TYPE_NEW_CREDENTIALS,LOGON32_PROVIDER_WINNT50,&phToken)即使我在没有域的情况下输入错误的密码,bRet也总是返回true。是否有任何解决方法,比如如果我输入有效密码,当没有域时,它会为错误的密码返回true和false。 最佳答案 我假设您所说的LOGON32_LOGON_TYPE_NEW_CREDENTIALS实际上是指LOGON32_LOGON_NEW_C

c++ - 仅当将值与 TRUE 进行比较时才会警告操作中 xxx 和 bool 的不安全混合

我有一个用C(C89兼容)实现的库。它定义了一个bool数据类型bool32。它还定义了bool文字TRUE和FALSE:#ifndefTRUE#defineTRUE(0==0)#endif#ifndefFALSE#defineFALSE(0!=0)#endiftypedefuint32_tbool32;像下面这样的C代码编译时没有警告:bool32h=TRUE;if(h==TRUE){}if(h==FALSE){}cpp中的相同代码编译时出现以下警告:1>[filename/line):warningC4805:'==':unsafemixoftype'bool32'andtype'

c++ - "True Polymorphism"的例子? (最好使用 Haskell)

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我见过很多“真正的多态性”的部分定义,例如here和here但我在任何地方都找不到两个具体示例的区别的明显示例。我知道重载+运算符是某种形式的多态性,它在Haskell和C++中的实现方式不同。有人可以准确地说明两种语言的例子有什么不同吗?

c++ - string.find() 在使用 ==-1 时返回 true,而在使用 <0 时返回 false

我试图在字符串中查找字符,但得到了意想不到的结果。我的理解是string::find(charc)找不到时返回-1。但是,我得到了一些意想不到的结果。即使字符串不包含'8',它仍然返回true。std::strings="123456799";if(s.find('8')但是,当使用==时,代码会按预期工作。std::strings="123456799";if(s.find('8')==-1)cout 最佳答案 Myunderstandingisthatstring::find(charc)returns-1whenitisnot

c# - while(true)/while(1) 与 for(;;)

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:for(;;)orwhile(true)-WhichistheCorrectC#InfiniteLoop?Whychoosingfor(;;){}overwhile(1)?while(true)、while(1)和for(;;)之间有什么区别?它们在C#和C/C++等语言中都是无限循环。但是一个比另一个更好吗?有什么想法吗?

c++ - 错误 : Label "foo" used but not defined

所以我在使用一些C++代码时遇到了前面提到的错误,代码看起来有点像这样:#includeusingnamespacestd;charfoodstuffs;voidfruit(){cin>>foodstuffs;switch(foodstuffs){case'a':gotofoo;break;case'b':gotofooo;break;}}intmain(){cout确切的代码要复杂得多,但这只是为了向您展示我遇到的错误。现在我意识到每个人都出于某种原因鄙视“goto”语句,但我的实际代码中充满了太多的goto,以至于我真的没有时间/耐心回去更改它们。此外,我是一名新手程序员,我发现g

c++ - 将 defined(X) 返回为 true 或 false 的宏

我想要一系列宏来替换下面的代码#ifdefFOOreturntrue;#elsereturnfalse;#endif用类似的东西returnMAGICLY_EXPANDING_IFDEFINED_MACRO(FOO);您可以猜到,有很多FOO,足以将4行缩减为1行会很酷。但实际上它会用一行替换一个怪物switch语句。 最佳答案 在C++中,defined的行为仅针对条件包含(#if和#elif)指定。所以你不能以任何其他方式使用它。(相关规则见标准16.1节)但是,如果你想检测具体是#define到空字符串的宏,你不需要defin

parser.add_argument:错误:未识别的参数:true

我在Python2.7中有一个程序,该程序具有一系列代码:parser.add_argument('--skip_train',default=False,help='skiptraining',action='store_true')该代码告诉程序默认情况下进行培训。但是现在我想在没有培训的情况下实施它,因为培训已经完成。因此,我输入了提示:pythonmyprogame.py--skip_trainTrue但这给出了一个错误消息:error:unrecognizedarguments:True应该在提示命令中输入什么以实现该程序?看答案当您使用时action='store_true',您不

c++ - Boost 程序选项 bool 总是 True

通过程序选项,我正在检查参数的有效组合。但出于某种原因,gpu参数是一个bool,无论我是否在命令行上将其设置为false,它始终为true。如果我在命令行上指定了gpu选项,有没有办法让它为false?我希望能够创建一个bool变量来表示是否使用了命令行上的选项。我也找不到任何关于variables_map的count()的文档。它是std::map函数吗?部分代码:namespacepo=boost::program_options;po::options_descriptiondesc("AllowedOptions");desc.add_options()("help,h","