草庐IT

expose_used

全部标签

c++ - 错误 : use of undeclared identifier 'ctime_s'

当我尝试使用ctime_s编译cpp代码时,使用了未声明的标识符“ctime_s”。我该如何解决?主要.cpp#include#includeintmain(intargc,constchar*argv[]){//insertcodehere...std::cout结果Machida-no-MacBook-Air:KnowledgeBasemachidahiroaki$gccmain.cpp--verboseAppleLLVMversion6.1.0(clang-602.0.49)(basedonLLVM3.6.0svn)Target:x86_64-apple-darwin14.1.0

c++ - 'using'覆盖纯虚函数一个单独继承的方法

真的只是一个小烦恼,因为我可以通过包装派生函数而不是使用'using'关键字来解决这个问题,但是为什么下面的方法不起作用(编译器告诉我'get_elem'仍然是纯虚拟的“酒吧”类)。classElem{};classDerivedElem:publicElem{};classFoo{public:virtualElem&get_elem()=0;};classGoo{protected:DerivedElemelem;public:DerivedElem&get_elem(){returnelem;}};classBar:publicFoo,publicGoo{public:using

c++ - Apple 的 Using C++ with Objective-C 文章不见了...谁能给我一篇新文章,或者帮我找到旧文章?

如果搜索混合objective-c和c++,这个链接总是作为解决方案出现。UsingC++WithObjective-C不幸的是,它已经死了。有谁知道这篇文章移到了哪里,有另一篇文章,或者有一些代码演示了objective-c和c++对象之间的双向交流(从另一个调用)。我可以解决无法从C++调用Objective-C的问题,但我更愿意自由地执行回调。我已经了解了实例化一个C++对象并从Objective-C++调用它的方法,但我还没有弄清楚如何让C++回调或如何正确声明C++对象objective-c++对象的头文件。 最佳答案 这

c++ - 智能指针删除器和名称为 "using"的 "pointer"关键字

前段时间看到这样一段代码:void*Create(){int*t{newint{10}};returnt;}classDeleter{//uncommentinordertocompile//usingpointer=void*;public:voidoperator()(void*t){deletet;}};unique_ptrptr{Create()};它不编译。对于VS2013,它说:error:C2440:'initializing':cannotconvertfrom'initializer-list'to'std::unique_ptr'Noconstructorcould

c++ - C++ 中的异常处理 : Throwing a double when using "throw(int)"

下面的程序总是输出“Error:double10.2”。我不明白为什么。根据我的说法,如果fun1()只允许抛出int,那么程序应该要么(1)崩溃(2)或者把double改成int然后throw。这意味着,输出应该是“Error:int10”。然而,情况并非如此。谁能解释一下??voidfun1()throw(int){cout 最佳答案 您的编译器不符合标准。根据标准,您的程序应以调用std::unexpected结束。在让double异常转义fun1之后。也就是说-不要使用异常规范。它们已被弃用且无用。

vscode出现Specifies folder path to the JDK(17 or recent)used to launch the Java Language Server解决方案

  大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。  本文主要介绍了vscode出现SpecifiesthefolderpathtotheJDK(17ormorerecent)usedtolaunchtheJavaLanguageServer.ThissettingwillreplacetheJavae

c++ - 有没有权威的方法来防范c++中的 "use after move"错误?

我发现开发人员很容易犯这些错误。是否有避免这种情况的最佳实践或权威方法?是否有适用于多个平台的编译器标志或提示? 最佳答案 一个有效的经验法则:永远不要使用std::move或std::forward并且永远不要类型转换为右值(或通用)引用。如果您从不从变量或引用移动,那么您就不会犯在之后使用它的错误。这种方法显然有一个缺点,因为这些实用程序在某些情况下可用于在移动足够时将拷贝转换为移动;更不用说必要的情况了。适用于您自己的类型的方法:将断言添加到成员函数中,以验证实例是否已从中移出,并依赖它们在测试期间触发。“移动”状态将需要存储

keil 报错 *** Target ‘Target 1‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available

问题:***Target‘Target1’usesARM-Compiler‘DefaultCompilerVersion5’whichisnotavailable.这个错误是由于使用的ARM编译器“DefaultCompilerVersion5”不可用导致。原因是新版的keil不在自动下载v5版本的编译器,但是老版本使用的v5,所以需要手动安装v5的编译器。下载v5.06的编译器并添加到keil,下载链接如下:链接:https://pan.baidu.com/s/1HKY34HP4zjkDPGd1ikbX4w?pwd=gych提取码:gych具体操作方法:(参考的是dxh_wds的资料)1.进

c++ - 类方法声明中的 decltype : error when used before "referenced" member is declared

考虑followingcode:structtest{autofunc()->decltype(data){}//ERRORintdata;};intmain(){testt;t.func();}它给出了以下错误:main.cpp:2:29:error:'data'wasnotdeclaredinthisscopeautofunc()->decltype(data){}但是,如果我将data放在func()之上,它不会给出任何错误(livecode):structtest{intdata;autofunc()->decltype(data){}};...所以我的问题是,为什么declt

c++ - -Wconversion warning while using operator <<= on unsigned char

当我用gcc编译以下代码时:intmain(){unsignedcharc=1;c我收到这个警告:conversionto‘unsignedchar’from‘int’mayalteritsvalue[-Wconversion]为什么?这段代码有什么问题?其实,我真的可以使用oprator吗?在unsignedchar上变量?编译命令:g++test.cpp-Wconversion-otest.exe 最佳答案 这是一个有效的警告:c相当于:c=c和的规则假设操作数被提升,在这种情况下将提升为int结果是提升的类型。所以会有一个从i