草庐IT

ignore-case

全部标签

C++11 基于范围的 for 循环 : how to ignore value?

我有一个C++容器,我想运行一个循环的次数与该容器中的元素数相同。但是我不关心循环期间容器中的值。例如:for(constauto&dummy:input){cout唯一的问题是,dummy是一个未使用的变量,我已指示编译器禁止使用这些变量。我想到的两个不雅的解决方案是在循环体中说(void)dummy;以使编译器静音,或者使用旧式的for循环从0到距离(开始(输入),结束(输入))。我尝试省略变量名,但编译失败(不足为奇)。我正在使用GCC4.7.2。 最佳答案 不需要显式循环。usestd::begin;usestd::end;

c++ - 与零长度参数一起使用的 memset : ignore or watch out?

在链接动态库时,我无法找到有关以下警告的任何信息:Infunction`MyClass::myfunc()':MyClass.cpp:(.text+0x14e4):warning:memsetusedwithconstantzerolengthparameter;thiscouldbeduetotransposedparameters这是myfunc的摘录:voidMyClass::myfunc(){vector::const_iteratorit;for(it=m_vars.begin();it!=m_vars.end();++it){if((*it)->recordme){MyRe

c++ - 警告 LNK4075 : ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification

我有一个链接到外部.lib(libprotobuf.lib)的项目。当我在发行版中编译时,没有警告。但是,当我在调试中编译时,我收到此警告:warningLNK4075:ignoring'/EDITANDCONTINUE'dueto'/INCREMENTAL:NO'specificationFile:\libprotobuf.lib(message_lite.obj)我一直在研究这个问题,从thisquestion.开始我一直在调整项目的选项,并且(在调试配置中):/Zi-所以编辑并继续不应该打开。/INCREMENTAL-所以增量应该打开。知道为什么我仍然收到此警告吗?我最好的猜测是

c++ - 视觉 C++ : No devirtualization in obvious cases?

在看visualc++(VS2017RC)生成的代码看到简单情况下的动态分支(虚拟调用)时,我感到非常惊讶。所以我用编译器资源管理器尝试了以下代码:structBase{virtualvoidfoo()=0;};structImpl:Base{voidfoo()override;};Implg_impl;voidglobalCall(){g_impl.foo();}voidlocalCall(){Impli;i.foo();}voidtempCall(){Impl().foo();//dynamicbranchinggenerated!}structClass{voidmemberCa

c++ - JNI_CreateJavaVM : Buffer overrun if I throw an exception in case of failure

在C++项目中,我使用JNI调用API来启动JVM。我已经围绕JVM做了一些包装,因此我可以以面向对象的方式使用所有需要的部分。到目前为止效果很好。现在,如果JVM没有启动(JNI_CreateJavaVM返回值JNI_CreateJavaVM之后抛出异常,我遇到缓冲区溢出。如果我在没有JNI_CreateJavaVM调用的情况下引发异常,它会按预期工作。有人知道这里的问题是什么吗?或者如何调试?环境:Windows、VisualStudio2008JDK:jrockit27.6jdk16005,但也发生在SUNstockone上干杯多米尼克 最佳答案

c++ - 来自 Xcode 8.3.2 : Non-portable path to file - specified path differs in case from file name on disk 的错误警告

出于某种原因,我的代码库突然开始收到数以千计的此类警告。但到目前为止,所有有问题的文件和路径都是完全正确的,与我在磁盘上看到的与Finder相匹配。他们是不是在暗地里另有幕后?当问题实际上并不存在时,为什么Xcode会生成这些警告?尽管http://stackoverflow.com/questions/43067017/non-portable-path-to-file-file-h-specified-path-differs-in-case-from-file-na是关于相同的警告,在这种情况下我已经验证导入路径与磁盘上的文件名匹配。 最佳答案

【macOS-OpenCV报错】ld: warning:ignoring file found architecture ‘x86_64‘, required architecture ‘arm64

如果之前用的mac是英特尔intel芯片的,然后换了macM1或M2芯片的。在使用OpenCV时会报错ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_gapi.4.7.0.dylib':foundarchitecture'x86_64',requiredarchitecture'arm64'ld:warning:ignoringfile'/usr/local/Cellar/opencv/4.7.0_7/lib/libopencv_bgsegm.4.7.0.dylib':foundarchitectur

在OpenMetadata接口中使用OMI_IGNORE_NOTFOUND标志

在SAS开放元数据参考(第126页),它说:UPDATEMETADATA方法使您能够更新现有元数据对象的属性。如果不存在要更新的元数据对象,除非设置了要更新的元数据对象,否则它将返回错误。这是我的问题,如果我指定标志或未指定标志,我仍然会遇到相同的错误:(“saslibrary:a5x8ahw1.b4000000sq,在基础存储库中的Wlibrary容器中都找不到。”)这是一个复制错误的片段:importcom.sas.meta.SASOMI.IOMI;importcom.sas.metadata.MetadataUtil;importorg.omg.CORBA.StringHolder;IO

c++ - 在 switch 语句中使用常量数组的元素作为 case

我正在尝试将一组按键映射到一组命令。因为我从多个地方处理命令,所以我想在键和命令之间设置一个抽象层,这样如果我更改底层键映射,就不必更改太多代码。我目前的尝试是这样的://input.henumLOGICAL_KEYS{DO_SOMETHING_KEY,DO_SOMETHING_ELSE_KEY,...countof_LOGICAL_KEYS};staticconstSDLKeyLogicalMappings[countof_LOGICAL_KEYS]={SDLK_RETURN,//DoSomethingSDLK_ESCAPE,//DoSomethingElse...};//some_

c++ - std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n' ) 使用#include <Windows.h> 时出错

这个问题在这里已经有了答案:std::max-expectedanidentifier(6个答案)macro"max"requires2arguments,butonly1given(4个答案)关闭去年。在VisualStudio2010Pro中,我在max()上收到一个编译错误,指出“需要一个标识符”命令的一部分。似乎在windows.h头文件中有一个max(a,b)标识符和编译器想要使用它。我尝试使用#include也一样,但这并没有解决问题。有什么办法可以解决这个问题吗?