草庐IT

register_namespace

全部标签

c++ - 将 namespace 添加到具有 C header 的 C++ 实现

我们有一个包含C和C++代码的大型项目。对于每个C++实现,除了C++header之外,我们通常还提供一个Cheader以允许功能也可用于.c文件。所以,我们的大部分文件看起来像这样:foo.hpp:classC{intfoo();};foo.h:#ifdef__cplusplusextern"C"{typedefstructCC;//forwarddeclarations#elseclassC;#endifintfoo(C*);//simplyexposesamemberfunctionC*utility_function(C*);//somefunctionality*not*in

c++ - FREENECT_DEPTH_REGISTERED 对 libfreenect 没有影响

我正在libfreenect驱动程序上玩Kinect(原始Xbox版本)(顺便说一句,我在Ubuntu12.04上)。我已经从git克隆了最新版本并按照此处的说明手动安装:http://openkinect.org/wiki/Getting_Started#Ubuntu_Manual_Install我想访问注册的深度值。据我所知,Kinect是出厂校准的,并且有一个将深度像素与正确的RGB像素匹配的查找表。我可以很好地打开Kinect并检索原始的11位深度数据。对于1到7.5米的距离,这给了我非线性范围从730到1045的值。运行device->setDepthFormat(FREEN

c++ - 带有模板函数和 'using namespace' 的 VS2008(+?) 编译器错误

我发现某些代码(如下)的这种奇怪情况无法在VisualStudio2008下编译,并在第12行产生“错误C2872:‘歧义’:模糊符号”。删除最后一行的usingnamespaceRequiredNamespace修复了错误,但我希望将usingnamespace放在文件末尾应该没有效果。它还依赖于作为模板函数的AnotherFunction,所以我希望编译器在错误的范围内生成模板函数,或者在这样做之前没有重置正在使用的命名空间列表。相同的代码在GCC下编译。两个编译器似乎都在usingnamespaceNamespace定义之后为TemplatedFunction生成代码,至少据我所

c++ - Visual C++ 生成错误 : Failed to register output

所以我有一个正在处理的项目,每次构建时,它都会构建然后执行程序,然后以构建错误结束。为什么会这样?我似乎无法在项目属性中找到它将在构建中执行文件的位置。这有点烦人,而且最终还会产生错误。这是输出的摘录2>Link:2>Generatingcode2>c:\users\d0c\desktop\jlrria.lottery.repo\trunc\hash\hl_hashwrapper.h(277):warningC4706:assignmentwithinconditionalexpression2>Finishedgeneratingcode2>lottery-gui.vcxproj->

c++ - 对于 WIN32 API 引入的预处理器 namespace 污染,是否有简单的一次性解决方案?

众所周知,包括通过为每个Win32API函数设置一个预处理器#define来污染C++中的所有命名空间,该函数可以采用多字节或UTF-16输入。一个例子是:#ifdefUNICODE#defineCreateFontCreateFontW#else#defineCreateFontCreateFontA#endif我已经使用nativeWin32API好几年了,但我快要放弃了!在任何不平凡的项目中,名称冲突足以让您脸色发青。拜托,哦,有人能想出一个解决方案,不需要我在事后根据具体情况#undef这样定义宏吗?我想在这导致任何问题之前采取平权行动错误。而且我一直使用Unicode/UTF

C++ namespace 混淆 - std::vs::vs 调用 tolower 时没有前缀?

这是为什么?transform(theWord.begin(),theWord.end(),theWord.begin(),std::tolower);-不起作用transform(theWord.begin(),theWord.end(),theWord.begin(),tolower);-不起作用但是transform(theWord.begin(),theWord.end(),theWord.begin(),::tolower);-有效theWord是一个字符串。我正在usingnamespacestd;为什么它使用前缀::而不是使用std::或什么都不使用?感谢您的帮助。

c++ - 可以包装或合并单独的 namespace 吗?

我似乎记得在某处看到有关将多个命名空间合并为一个方法的注释。现在,寻找所说的笔记我没有找到它们——即使使用搜索词组合、分组、合并和包装进行搜索,我也没有找到任何东西。也许我误解了我之前看到的内容。我没有这方面的具体应用,这只是一种好奇心,有点做作。但是,从两个namespace开始......namespacea{intfunc(){return1;}}namespaceb{intfunc(){return2;}}我一直在寻找语法来简单地将它们包装在另一个名称中——事后——(是的,我知道我可以用嵌套的方式重写它)或者将它们合并到一个新的空间中。但是,我确实发现,如果我添加到其中一个非常

c++ - GDB bt 错误 : "Not enough registers or memory available to unwind further"

来自核心文件的回溯由于以下原因削减了有用的信息:Backtracestopped:Notenoughregistersormemoryavailabletounwindfurther.为什么会出现此消息,我可以做些什么吗? 最佳答案 尝试使用-O0标记构建例如。CFLAGS="-g-O0" 关于c++-GDBbt错误:"Notenoughregistersormemoryavailabletounwindfurther",我们在StackOverflow上找到一个类似的问题:

c++ - 如果我在 header 中声明 namespace ,是否可以避免在 .cpp 文件中使用类名?

这个问题在这里已经有了答案:C++:"Classnamespaces"?[duplicate](4个答案)关闭9年前。在C++中,我只想在.h文件中声明一个DisplayInfo类,然后在.cpp文件中,不必键入第一个DisplayInfo::DisplayInfo()和每个函数定义。遗憾的是,我已经查看了20多个主题和我的C++书籍两个多小时,但仍无法解决这个问题。我认为这是因为我正在尝试在C++中使用我10年的Java培训。第一次试验://DisplayInfo.hnamespaceDisplayInfoNamespace{ClassDisplayInfo{public:Displ

c++ - 模板类中函数指针的成员给出错误 : must be a class or namespace when followed by '::'

我试图在C++中声明一个模板函数指针。templateclassMyClass{public:typedefconstunsignedchar*(T::*MyTemplatedEvent)(unsignedlong&myParameter);};但出于某种原因,我不断收到此错误:'T':mustbeaclassornamespacewhenfollowedby'::'有人能告诉我哪里做错了吗?编译器应该知道T是一个类。它在MyClass声明上方这样说...... 最佳答案 对于T::*MyTemplatedEvent,您期望T是类类