草庐IT

declare_namespace

全部标签

c++ - ADL 是否适用于全局 namespace ?

Examplessuchas启用std的输出类型解释了如何ADL可用于“注入(inject)”某个函数/运算符,具体取决于应用fn/op的类型。我想知道ADL是否完全适用于全局命名空间,也就是说,是否在globalnamespacescope处声明(或通过using提供)类型让ADL在全局命名空间中寻找匹配的函数?具体来说,这些是否等同于wrt.日常事件能力?://1-atglobalnamespacescopestructGlobalType{};templatestd::basic_ostream&operator&os,GlobalTypeconst&x){osstd::basi

c++ - 错误 : ‘cv::fisheye’ has not been declared

我想为140度鱼眼镜头编写相机校准。由于opencv的正常校准不适用于这些镜头,我发现calib3d包中似乎有一个cv::fisheye模块。但每次我尝试编译我的代码时,g++状态:error:‘cv::fisheye’hasnotbeendeclared问题是opencv2.4.11的文档包含方法和额外的命名空间。我的C++文件中包含以下内容://OPENCVStuff#include"opencv2/opencv.hpp"#include"opencv2/highgui/highgui.hpp"#include"opencv2/calib3d/calib3d.hpp"#includ

c++ - elfutils 编译错误 implicit-function-declaration

我下载了elfutils0.170和0.169,但由于隐式函数声明,无法使用gcc编译它们中的任何一个。我在elfutilsmakefile中找不到指定-Werror或-Werror=implicit-function-declaration的任何位置。有解决此编译错误的想法吗?https://sourceware.org/elfutils/ftp/0.170/我的脚步1:bzip2-delfutils-0.170.tar.bz22:tar-xvfelfutils-0.170.tar3:./配置4:制作然后出现以下错误。elf_compress_gnu.c:在函数“elf_compre

c++ - 氧气/C++ : Global namespace in namespace list

我可以在用Doxygen生成的文档的命名空间列表中显示全局命名空间吗?我有一些函数是extern"C",它们出现在声明它们的头文件的文档中,但不在namespace列表中,给人的印象是它们实际上并不存在。. 最佳答案 据我所知,Doxygen仍然缺少此功能。一种不太冗长的解决方法是使用@defgroupMyGlobals并将extern"C"函数放在该组中:/*!@ingroupMyGlobals*@{*///...functions/*!@}*/这会将函数添加到Modules选项卡上名为MyGlobals的条目中。Thisblog

c++ - MFC 中的抽象基类是否需要 DECLARE_DYNAMIC?

我有一个派生自MFCCView类和模板化类的基类,例如;templateclassCMytViewT:publicCView,publicCMyTemplateClassT{DECLARE_DYNCREATE(CMyViewT)private:CMyViewT();'''}IMPLEMENT_DYNCREATE(CMyViewT,CView)现在我猜测MFC宏会被模板打乱,并且正在考虑删除此类的动态创建宏,并为模板的每个特化重新引入它。例如templateclassCMytViewT:publicCView,publicCMyTemplateClassT{public:CMyViewT

c++ - 错误 : Invalid use of incomplete type struct Subject; error: forward declaration of struct Subject

我继承自模板类。当我进入教师类(class)时,我想进入学科类(class),反之亦然。我收到错误InvaliduseofincompletetypestructSubect;voidaddSubject(Subject*s){this->addReference(s);s->addReference(this);whenIcommentthislinetheitcompileswithouterrors,butIcannotinsertintoSubject}我的全部代码在下面#include#include#includeusingnamespacestd;classSubject

c++ - Using Declaration 和 Forward Declaration 之间的冲突

让我们和Bulldog一起去散步:)假设我有一个命名空间Street::House(在命名空间Street内),其中类Bulldog被声明(让它在House/Bulldog.hpp中):namespaceStreet{namespaceHouse{classBulldog{};}}然后,我有Bulldog.hpp:#include"House/Bulldog.hpp"namespaceStreet{usingHouse::Bulldog;}注意正在发生的事情:我将Street::House::Bulldog的声明注入(inject)到命名空间Street作为Street::Bulldo

c++ - 窗体头文件中的 "error C2653: System is not a class or a namespace name",Visual C++

我之前关于同一项目的问题:one和two.没有必要阅读它们;只知道我正在尝试在VisualC++项目中使用nativeC++SDK。这比我最初想象的要棘手得多,但是这个网站关于ExtendinganativeC++projectwithmanagedcode已经帮助了我很多。按照最后一个链接的说明,我已将一个表单添加到我的nativeC++项目中,该项目已自动将项目转换为CLR项目。只有MainForm.cpp和Interface.cpp(允许nativeC++代码创建和显示MainForm的文件)使用/clr编译旗虽然;其他文件保持原样。我现在遇到的问题是,VisualStudio似

c++ - 声明是否可以转义其封闭的 namespace ?

我正在尝试编写一个宏来帮助构建具有各种辅助函数的enumclass,例如用于转换为字符串。在某种集合中提供对枚举的所有值的访问是很自然的:DEFINE_ENUM(Foo,Value1,Value2);for(Foov:enum_traits::all_values){//...}这似乎可以通过使DEFINE_ENUM()宏专门化一个通用的enum_traits类来实现://globally:templatestructenum_traits{};//insidethemacro:#defineDEFINE_ENUM(Name,...)\/*define"enumclassName"..

c++ - 是否可以检测 C++ 中的 namespace 成员身份?

对于C++类型,header为我们提供了许多有用的编译时反射功能。例如。std::is_base_of::value在编译时确定是否B是D的基类.我想知道是否可以按照类似的方式检测命名空间成员资格?例如。给定一个命名空间N类型T,有没有办法确定是否T包含在N中使用IS_NAMESPACE_MEMBER_OF(T,N)形式的宏表达式.我更喜欢通过任何类型的SFINAE/ADL类型的技巧获得编译时答案。或者,如果这是不可能的,那么标准不允许这样做的某种推理。一个不可移植的运行时hack是正则表达式typeid(T).name()对于N,但这相当乏味,而且不是在编译时。EDIT1:正如K-b