问题标签 [unqualified-name]

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.

0 投票
2 回答
97 浏览

c++ - 是否可以拥有只能由 ADL 找到的非好友功能?

C++ 有一个特性,即类内定义的友元函数只能通过 ADL(参数相关查找)找到:

非朋友功能是否可以实现相同的功能?我问这个,因为有时,我想拥有这个“仅由 ADL 发现”的功能,但我实际上并不需要朋友访问课程内部。

(还有一个有点自以为是的问题:如果这不可能,这是什么原因?这个“只有 ADL 发现”规则是故意设计到语言中的吗?)

0 投票
2 回答
83 浏览

c++ - 尝试按值对地图进行排序但出现错误

我有这个带有地图的程序,我正在尝试按值对它们进行排序,但出现错误。谁能告诉我我做错了什么。错误在 28、29、30 行。谢谢

0 投票
1 回答
101 浏览

c++ - 为什么 `static_pointer_cast` 不能与 ADL 一起使用,但需要显式的 `std::`?

考虑

我希望无条件的调用来static_pointer_cast解决std::static_pointer_cast,因为b作为一个std::shared_ptr,应该namespace std使用 ADL。

为什么不呢?我需要std::shared_pointer_cast明确地编写以使其工作。

0 投票
1 回答
223 浏览

java - java - 为什么在Java的switch case中枚举常量必须是不合格的?

一点上下文。这是关于 switch case 中限定枚举名称的问题,如示例中所示:

这会产生编译器错误

枚举 switch case 标签必须是枚举常量的非限定名称

是的。解决方案很简单:删除MyEnum.部分。那不是我的问题。

我只是想知道为什么首先禁止这样做。我知道基本上不可能肯定地回答为什么以某种方式完成某事。相反,我想询问可能导致此决定的原因。合格和不合格的枚举常量(或者一般来说可能是符号)有什么不同?如果编译器仍然允许这样做会出现什么问题?

虽然关于如何修复编译器错误本身存在很多问题,但似乎没有人解决上述问题。

0 投票
2 回答
46 浏览

c++ - 错误:变量或字段“MetroHastings”声明为无效

我是 StackOverflow 的新手,对 C++ 很陌生。当我尝试在我的程序“ising.cpp”中定义一个函数时,我遇到了问题。那是身体功能,它还不完整,但它的发展与我的错误无关:

我认为它与“liberia.h”内部的类系统构造有关的问题:

类主体定义在“liberia.cc”中:

等等...这是我用来编译的命令:

我不明白为什么我会收到这个错误。我总是在我的 cpp 文件中定义函数,我不知道为什么编译器会将其误认为是变量声明。先感谢您 :)

0 投票
1 回答
18 浏览

stored-procedures - 具有非限定表名的存储过程不适用于 Babelfish

我在 RDS 中创建了一个支持 Babelfish 的 Postgres 数据库。我连接了 SSMS 并创建了一个名为“demo”的数据库。在“演示”中,我创建了一个名为“biz”的模式。我在“biz”模式中创建了我的表和存储过程。存储过程使用不合格的表名。最后,我写了一个 .Net 程序来做一些测试。我使用 System.Data.SqlClient Connection 和 Command 类,我可以连接到数据库。当我执行存储过程时,我得到“关系“X”不存在。” 错误。如果我更改我的存储过程并使用“biz”模式限定表名,错误就会消失。

如何避免必须使用架构限定表名?

例如:创建启用 Babelfish 的 Postgres 集群后,我在 SSMS 中执行了这些语句:

运行 p_getcities 后我收到此错误消息:

消息 33557097,第 16 级,状态 1,第 21 行关系“城市”不存在

当我切换到 pgAdmin 并尝试像这样运行存储过程时:

我收到类似的错误:

错误:关系“城市”不存在第 1 行:从城市中选择 * ^ 查询:从城市中选择 * 上下文:PL/tsql 函数 biz.p_getcities() 第 2 行 SQL 语句 SQL 状态:42P01

但是,当我这样设置 search_path 时:

并执行存储过程,我得到了预期的结果:

波特兰或弗吉尼亚州里士满

Babelfish 中是否有相当于 search_path 的方法?