草庐IT

expose_used

全部标签

c++ - 函数中的多个 using 指令

我不想在给定的函数中包含整个命名空间,而是只包含我将要使用的东西,例如:voiddoStuff(){usingstd::sin;usingstd::cos;...//dostuff}有时这个列表会变长。我想将其精简为以下内容(类似于变量声明的可能方式):voiddoStuff(){usingstd::sin,std::cos;//dostuff}我惊讶地发现这是不可能的(错误:使用声明后应为“;”)。为什么using是这样定义的?是否有另一种方法可以从给定的命名空间中一致地包含多个函数(除了执行usingnamespace...;)? 最佳答案

c++ - 错误 : Cannot use typeid with -fno-rtti

当我尝试编译我的项目时,我得到了这个“不能将typeid与-fno-rtti一起使用”,我使用的是opencv框架。我用谷歌搜索了这个问题,但似乎我在互联网上发现的错误与我的问题无关。我不知道问题是否与包含、代码或编译器有关。Xcode多次给我错误,但第一个错误在这里:virtualconststd::type_info&type(){returntypeid(T);} 最佳答案 它在消息中告诉您错误:如果您在编译器上使用no-rtti标志,则typeid将不可用。只需启用RTTI;毕竟它是C++的一部分。

c++ - 调用基类构造函数的 "Using"关键字

我有以下基类classGrammateas{public:Grammateas(std::stringname):_name(name){};virtual~Grammateas(){};private:std::string_name;};和下面的派生类classBoithosfinal:publicGrammateas{public://usingGrammateas::Grammateas;Boithos(inthours):Grammateas("das"),_hours(hours){};virtual~Boithos(){};private:int_hours;};我想使用

c++ - 自动检测C++14 "return should use std::move"情况

我的理解是,在C++17中,以下代码片段旨在做正确的事:structInstrument;//instrumented(non-trivial)moveandcopyoperationsstructBase{Instrumenti;};structDerived:publicBase{};structUnrelated{Instrumenti;Unrelated(constDerived&d):i(d.i){}Unrelated(Derived&&d):i(std::move(d.i)){}};Unrelatedtest1(){Derivedd1;returnd1;}Basetest2

c++ - Visual Studio : How to use platform toolset as preprocessor directive?

我的项目有两个平台工具集:v110和v110_xp,根据所选平台,我想包含/排除部分要编译的代码。_MSC_FULL_VER和$(PlatformToolsetVersion)对于这两个平台工具集具有完全相同的值。或者,我尝试使用$(PlatformToolset)如下:_MSC_PLATFORM_TOOLSET=$(PlatformToolset)但问题是$(PlatformToolset)是非数字的。想知道如何将这个非数字值用作预处理器指令?尝试了几种解决方案后我发现了_MSC_PLATFORM_TOOLSET='$(PlatformToolset)'然后#if(_MSC_PLAT

c++ - _Use_decl_annotations_ 是什么意思

我是SAL的新手。我想知道_Use_decl_annotations_是什么意思。我从MSDN学习过:http://msdn.microsoft.com/en-us/library/jj159529.aspx."Maybeusedonafunctiondefinition(alsoknownasafunctionbody)inplaceofthelistofannotationsintheheader.When_Use_decl_annotations_isused,theannotationsthatappearonanin-scopeheaderforthesamefunction

c++ - 如何在预处理器中检测 "Use MFC"

对于静态Win32库,如何检测是否设置了任何“使用MFC”选项?即#ifdef---BuildingForMFC---....#else...#endif 最佳答案 我一直在检查正在定义的符号_MFC_VER。这是正在使用的MFC的版本号0x0700=7.0在MSDN的“PredefinedMacros”里面 关于c++-如何在预处理器中检测"UseMFC",我们在StackOverflow上找到一个类似的问题: https://stackoverflow.c

c++ - MS Visual C++ : When should you care about using calling conventions?

在C/C++中(具体来说,我使用的是MSVS),在什么情况下需要担心为函数定义指定调用约定?它们曾经重要吗?complied是否能够在必要时选择最佳约定(即fastcall等)。也许我的理解还不够,但我只是看不出什么时候程序员需要关心参数在堆栈上的放置顺序等问题。我也不明白为什么编译器的优化无法选择最适合该特定功能的方案。任何人都可以提供给我的任何知识都会很棒。谢谢! 最佳答案 一般而言,当您集成由不同编译器编译的代码时,调用约定很重要。例如,如果您要发布一个将由您的客户使用的DLL,您将希望确保您导出的所有函数都具有一致的、预期的

c++ - g++ 编译器中的 “Uninitialized use” 警告

我正在使用警告级别为-Wall-Wextra的g++并将警告视为错误(-Werror)。现在我有时会收到错误消息“变量可能在此函数中未初始化地使用”。“有时”是指我有两个独立的编译单元,它们都包含相同的头文件。一个编译单元编译没有错误,另一个给出上述错误。头文件中的相关代码如下。由于函数很长,我只复制了下面的相关部分。准确的错误是:'cmpres'maybeuseduninitializedinthisfunction我用*标记了错误行下面。for(;;){intcmpres;//*while(b=band(cmpres=cmp(c,pivot))>=0){if(cmpres==0):

c++ - 错误 C2143 : syntax error : missing ';' before 'using'

关闭。这个问题是notreproducibleorwascausedbytypos.它目前不接受答案。这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topic在这里,这个问题的解决方式不太可能帮助future的读者。关闭8年前。Improvethisquestion这是我的标题:#ifndefHEADER_H#defineHEADER_HclassMath{private:staticenumnames{amin=27,ali=46};public:staticvoiddisplayMessage();}#endif//HEADER_H这是标题定义:#incl