问题标签 [name-lookup]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 如何使用 BOOST_STATIC_ASSERT
Question1 > 以下语句背后的语法是什么?我们什么时候应该使用它?如果是模板特化,为什么我们必须提供参数而不仅仅是
问题2 > 如果我们必须使用这种形式,我们是否必须在函数范围内采用这种语法?
问题3 > 如何更正 的定义accepts_values_between_1_and_10_alternative
以使其适用BOOST_STATIC_ASSERT
?
谢谢
c++ - 本地类中友元函数的名称查找
编译如下:
导致错误:
错误:没有事先声明的本地类中的友元声明“void bar()”
为什么名称查找失败?我该如何解决?
c++ - 如何在模板化基类中命名嵌套模板?
在以下设置中,我怎样才能使我可以引用Bar
派生类中的名称Derived<T>
?
我试过using Foo<T>::Bar;
了,但这没有帮助。是否有任何类型的using
声明可以使派生类知道嵌套基模板的名称,以便我可以保留简单的声明Bar<int> x
?
我知道我可以这么说typename Foo<T>::template Bar<int> x;
,但我有很多这样的情况,我不想用这么多冗长不必要地给代码增加负担。我也有很多不同的“ int
s”,所以typedef
每个嵌套模板实例的一个也不可行。
另外,此时我不能使用 GCC 4.7 也不能使用 C++11,因此我想要一个没有模板别名的“传统”解决方案。
c++ - 这个名称在 VC++ 2010 非标准的依赖基类中查找吗?
下面的代码不能在 Ideone 或 Codepad 上编译,产生如下错误:
'X' 未在此范围内声明
但在 VC++ 2010 上确实如此:
它在哪里打印int
和。我应该将代码更改为:char
float
为了符合标准?
c++ - 在依赖派生类模板中使用 this 指针
在C++ Templates - The Complete Guide一书的示例pointers/countingptr.hpp中,派生依赖项的成员使用指针来引用。为什么在这个例子中是必要的?class CountingPtr
this
this
我知道this
需要指针才能命名依赖基类模板的成员。当然this
,依赖派生类模板中也不需要指针吗?
c++ - 依赖于参数的名称查找:添加额外的名称空间以查看
我想利用 ADL 规则来检查额外命名空间中的函数:
假设我们有一个class X
.
通话中
我希望编译器查看namespace funky
,直到现在与class X
. 但我不想通过funky::f
在调用时放置来混淆编码f
。
实现此目的的一种方法是定义class X
为模板类,其参数来自namespace funky
.
对于一个调用f(x)
,现在,编译器确实会寻找funky::f
.
是否有更清洁/更简单的方法来实现相同的行为?(特别是,someClassFromFunky
在声明中引用一些任意类class X
是很尴尬的。)
c++ - 为什么类成员函数具有相同名称的影子自由函数?
最近我注意到成员函数在类中完全隐藏了具有相同名称的自由函数。我的意思是完全不考虑重载决议的每个具有相同名称的自由函数。我可以理解为什么它是这样完成的:
在函数具有相同签名的情况下,它唯一自然的变量作用域工作方式相同。但是为什么要禁止自由函数具有不同签名的明确调用,如下所示:
我不是在问如何从类内部调用阴影自由函数。我想知道的是这个设计背后的基本原理。
c++ - C++中的模板成员函数重载和多重继承
我正在观察以下代码中的行为,我无法轻易解释,并希望更好地理解理论。我似乎找不到涵盖这种特殊情况的在线文档来源或现有问题。作为参考,我使用 Visual Studio C++ 2010 编译并运行以下代码:
为什么模板化成员函数与非模板化成员函数案例的工作方式不同?
编译器如何决定(在模板化的情况下) Top_Class::Print_Goodbye() 是适当的重载而不是 Bottom_Class::Print_Goodbye() ?
预先感谢您的考虑。
function - 如何从 clojure 中的符号中获取函数的名称?
假设我将 x 定义为符号函数 foo
如果仅给定 x,是否可以发现名称“foo”?
在这种情况下, foo 中有没有办法查找函数 x - "foo" 的名称?
是否有或者是否可以创建一个函数,例如:
c++ - 为什么子类在 C++ 中看不到父类的 typedef 结构?
我最近在父类中遇到了一些 C++ 代码typedef
。struct
但是,它似乎在子类中不可用,即使它没有被标记private
(它是protected
)。我在下面创建了一个最小的工作示例(如下)来演示此失败。我已经公开了所有内容,但仍然失败。给出的错误是(使用g++
):
啊(编译)
Bh(不编译)
Bh(编译)
为什么第一个版本B.h
无法编译?第二个是安全的选择吗?有没有更好(更简洁或惯用)的方法来处理这个问题?