草庐IT

namespace-scoped

全部标签

C++ 错误 : Sleep was not declared in this scope

我在Ubuntu中使用带有codeBlocks的C++,在GCC4.7中boost1.46[yield_k.hpp]我得到这个编译时错误:error:Sleepwasnotdeclaredinthisscope代码:#includeusingnamespacestd;intmain(){cout如何解决此错误?我希望程序挂起1秒。 最佳答案 Sleep是一个Windows函数。对于Unix,请考虑使用nanosleep(POSIX)或usleep(BSD;已弃用)。一个nanosleep示例:voidmy_sleep(unsigne

C++ : Extern C Functions inside a Namespace

我必须链接两个库,比如A和B。其中一些文件在两个库中是通用的。所以,我在命名空间内的库A中声明函数,比如abc。因此,在A和B中,函数func如下所示:[inA]namespaceabc{extern"C"voidfunc();}[inB]extern"C"voidfunc();在构建项目时,编译器会抛出链接错误,说明函数func的多个定义。是不是命名空间内的A中的函数func或者外部“C”函数是否存在问题。如果有,那么我该如何区分它们呢? 最佳答案 当您使用Extern"C"时,您将关闭名称修饰,因此您会丢失命名空间信息,因为C没

c++ - 在 C++ 中的 "using namespace::X"中的前导::是什么意思

谁能解释一下以下命名空间用法之间的区别:使用命名空间::layer::module;和使用命名空间层::module;是什么导致layer之前额外的::? 最佳答案 如果在以下上下文中使用会有所不同:namespacelayer{namespacemodule{intx;}}namespacenest{namespacelayer{namespacemodule{intx;}}usingnamespace/*::*/layer::module;}使用初始::第一个x将在using指令之后可见,没有它第二个x在nest::layer:

c++ - 什么需要我声明 "using namespace std;"?

这个问题可能是重复的,但我找不到一个好的答案。简简单单,需要我声明什么usingnamespacestd;在C++程序中? 最佳答案 自从C++标准被接受以来,几乎所有的标准库都在std命名空间内。因此,如果您不想使用std::限定所有标准库调用,则需要添加using指令。然而,usingnamespacestd;被认为是一种不好的做法,因为您实际上是在导入整个标准命名空间,从而为名称冲突提供了很多可能性。最好只导入您在代码中实际使用的内容,例如usingstd::string; 关于c

c++ - 为什么 Alexandrescu 不能使用 std::uncaught_exception() 在 ScopeGuard11 中实现 SCOPE_FAIL?

这个问题在这里已经有了答案:Scope(failure)inC++11?(2个回答)关闭9年前。毫无疑问,很多人都熟悉Alexandrescus先生的ScopeGuard模板(现在是Loki的一部分)和这里介绍的新版本ScopeGuard11:http://channel9.msdn.com/Shows/Going+Deep/C-and-Beyond-2012-Andrei-Alexandrescu-Systematic-Error-Handling-in-C这里有来源:https://gist.github.com/KindDragon/4650442在2012年及以后的c++演讲中

c++ - 我在哪里可以为我的 C++ 项目找到一个好的 Scope Guard 实现?

我最近刚刚了解了ScopeGuardC++习语。不幸的是,我找不到任何好的实现。谁能给我指点C++中一些好的和可用的ScopeGuard实现?谢谢,博达·赛多。 最佳答案 原始的ScopeGuard类包含在thisDr.Dobb'sarticle中AndreiAlexandrescu和PetruMarginean。一个稍微改进的版本,与JoshuaLehrer的一些更改可用here.(Lehrer的版本是我在项目中使用的版本。)它也包含在Loki中。图书馆。Boost现在有一个ScopeExit比ScopeGuard更强大的库(因为

c++ - 编译器错误 C2653 : not a class or namespace name

所以我最近在使用VisualC++2012时遇到了这个非常令人沮丧的问题。直到几个小时前,我还在编写代码,一切都按预期工作,直到我决定优化一些东西并删除了一些类.我修复了所有因此而弹出的错误,例如false包含等。不幸的是,在此之后VS编译器发疯了。它开始给我错误,例如:Error14errorC2653:'Class':isnotaclassornamespacename甚至Error5errorC2143:syntaxerror:missing';'before'}'Error4errorC2059:syntaxerror:'>'我已经检查了多次,一切都在正确的位置:包括所有标题,

c++ - protected 成员是派生类中的 "not declared in this scope"

这个问题在这里已经有了答案:accessingprotectedmembersofsuperclassinC++withtemplates[duplicate](2个回答)关闭8年前。#include#includetemplateclassBase{protected:std::vectordata_;};templateclassDerived:publicBase{public:voidclear(){data_.clear();}};intmain(intargc,char*argv[]){Derivedderived;derived.clear();return0;}我无法编

node.js - 使用 Jest 模拟 namespace 和具有相同名称的函数

我正在使用的库的结构为declarenamespacefoo{functionbar();};declarenamespacefoo.bar{functionbaz();};所以我需要模拟的两个函数是foo.bar()和foo.bar.baz()。模拟我之前使用的foo.bar()require('foo');jest.mock('foo',()=>({bar:()=>mockedBar,}));有什么方法可以模拟foo.bar.baz()吗?我试过了jest.mock('foo.bar',()=>({}));但它显示一条消息Cannotfindmodule'foo.bar'from'

node.js - 如何将 NPM 包迁移到组织 @scope

NPM最近为模块引入了@scopes/organizations。有没有将现有模块迁移到组织的好方法?是否有任何工具可以为大量包自动化它?NPM是否支持重定向,以便其他软件仍然可以使用旧名称,但会收到应该更新的通知? 最佳答案 您可以从以下位置更改您的package.json:"name":"project-name"到:"name":"@scope/project-name"并发布包:npmpublish--access=public更新:--access=public需要参数才能使作用域包公开-否则默认情况下它将是私有(priv