草庐IT

nullable-reference-types

全部标签

c++ - `invalid initialization of non-const reference` 是什么意思?

编译此代码时,我得到以下error:Infunction'intmain()':Line11:error:invalidinitializationofnon-constreferenceoftype'Main&'fromatemporaryoftype'Main'这是我的代码:templatestructMain{staticMaintempFunction(){returnMain();}};intmain(){Main&mainReference=Main::tempFunction();//我不明白为什么?谁能解释一下? 最佳答案

c++ - 链接器错误:对 `std::ctype<char>::_M_widen_init() 的 undefined reference

我在尝试运行示例项目时遇到链接器错误。你能告诉我如何解决这个问题吗?提前致谢。make[1]:Enteringdirectory`/home/rumi/MobiusProject/Multiproc-Paper/Transformer/ssg'/usr/bin/g++-w-DMOBIUS_LITTLE_ENDIAN-DMOBIUS_LINUX-m32-ossgGen_Linux-L../../lib/Linux_lib/-L/home/rumi/Mobius/mobius/Mobius-2.3/Cpp/lib/Linux_lib-L/home/rumi/Mobius/mobius/Mo

C++ 模板部分特化 : Why cant I match the last type in variadic-template?

我尝试编写一个IsLast类型特征来检查给定类型是否是std::tuple中的最后一个类型,但下面的代码无法编译。我知道如何绕过它,但我很好奇为什么编译器不喜欢它。我想一定有一些我不知道的关于可变参数模板特化的规则。代码位于:https://godbolt.org/g/nXdodx错误信息:error:implicitinstantiationofundefinedtemplate'IsLast,int>,int>'还有关于特化声明的警告:warning:classtemplatepartialspecializationcontainstemplateparametersthatca

c++ - glfw3 编译 undefined reference

我在编译使用glfw3库的程序时遇到问题。尝试使用make进行编译时,我得到了undefinedreference的错误列表,但我的类被编译成.o文件,只有最终的可执行文件没有创建。标准输出:g++-Wall-g-cmain.cpp-lGL-lGLU-lglfw3-lX11-lXxf86vm-lXrandr-lpthread-lXig++-Wall-g-cerror.cpp-lGL-lGLU-lglfw3-lX11-lXxf86vm-lXrandr-lpthread-lXig++-Wall-g-csWindow.cpp-lGL-lGLU-lglfw3-lX11-lXxf86vm-lXr

在网页下载文件时,设置各种文件格式的response头中的content-type

ExtMIMEType.docapplication/msword.dotapplication/msword.docxapplication/vnd.openxmlformats-officedocument.wordprocessingml.document.dotxapplication/vnd.openxmlformats-officedocument.wordprocessingml.template.docmapplication/vnd.ms-word.document.macroEnabled.12.dotmapplication/vnd.ms-word.template.ma

c++ - 如何以标准方式组合 type_traits 中的条件

例如,我想使用类型T仅当std::is_pointer和std::is_const评估为true_type.当然还有一个简单的方法是这样的:templatevoidf(Tt,std::true_type,std::true_type){}templatevoidf(Tt){f(t,std::is_pointer{},std::is_const{});}但是我想要这样的东西:templatevoidf(Tt,std::true_type){}templatevoidf(Tt){f(t,std::and,std::is_const>{});}标准库是否包含类似std::and的内容??如果

c++ - undefined reference ,在 64 位系统的 Ubuntu 上使用 FFMpeg-library (AvCodec)

我正在运行最新的FFMpeg库的示例代码。我已将示例代码插入到文件videofecencoder.c中:/**copyright(c)2001FabriceBellard**ThisfileispartofLibav.**Libavisfreesoftware;youcanredistributeitand/or*modifyitunderthetermsoftheGNULesserGeneralPublic*LicenseaspublishedbytheFreeSoftwareFoundation;either*version2.1oftheLicense,or(atyouropti

c++ - Visual Studio : Macro for checking configuration type (exe/dll)

是否有可用于检查visualstudio中当前配置类型的宏?根据当前设置,我想包含一个main或dllmain函数:#IFDEFCONFIGURATION_TYPE_EXEintmain(intargc,char**argv){...}#ELSEIFCONFIGURATION_TYPE_DLLBOOLAPIENTRYDllMain(HANDLEhModule,DWORDul_reason_for_call,LPVOIDlpReserved){returnTRUE;}#ENDIF 最佳答案 如果是dll,那么_WINDLL将被定义为继

C++ typedef 和返回类型 : how to get the compiler to recognize the return type created with typedef?

#includeusingnamespacestd;classA{typedefintmyInt;intk;public:A(inti):k(i){}myIntgetK();};myIntA::getK(){returnk;}intmain(intargc,char*constargv[]){Aa(5);cout在这一行中,myInt未被编译器识别为“int”:myIntA::getK(){returnk;}如何让编译器将myInt识别为int? 最佳答案 typedef创建同义词,而不是新类型,因此myInt和int已经相同。问题

c++ - 为什么C++中没有 "NULL reference"?

我正在阅读C++常见问题解答-“8.6-WhenshouldIusereferences,andwhenshouldIusepointers?”,尤其是以下声明:Usereferenceswhenyoucan,andpointerswhenyouhaveto....Theexceptiontotheaboveiswhereafunction'sparameterorreturnvalueneedsa"sentinel"reference—areferencethatdoesnotrefertoanobject.Thisisusuallybestdonebyreturning/takin