using 声明不能在函数作用域内重复。这是为什么?

2024-01-19

在 [namespace.udecl]/10 中有以下示例:

namespace A {
    int i;
}
namespace A1 {
    using A::i;
    using A::i; // OK: double declaration
}
void f() {
    using A::i;
    using A::i; // error: double declaration
}

该片段在 clang 中编译。


第一个是命名空间内的声明,并且使用 #include 可能会频繁发生多个 using 语句。第二个是在函数的定义中,除非你犯了错误,否则你永远不会这样做。例如,您也不能两次定义相同的符号,但可以声明多次。

using 语句不仅仅是一个声明。它更强大一些,因为它将函数从一个名称空间导入到另一个名称空间。例如,它可以将受保护的基类成员函数拉入派生类,使其成为公共的。这几乎是一个链接定义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

using 声明不能在函数作用域内重复。这是为什么? 的相关文章

  • 使用 gcc 在 Linux 上运行线程构建块 (Intel TBB)

    我正在尝试为线程构建块构建一些测试 不幸的是 我无法配置 tbb 库 链接器找不到库 tbb 我尝试在 bin 目录中运行脚本 但这没有帮助 我什至尝试将库文件移动到 usr local lib 但这又失败了 任何的意见都将会有帮助 确定您
  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • 如何在 C++ 中标记字符串?

    Java有一个方便的分割方法 String str The quick brown fox String results str split 在 C 中是否有一种简单的方法可以做到这一点 The 增强分词器 http www boost o
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • 重载 (c)begin/(c)end

    我试图超载 c begin c end类的函数 以便能够调用 C 11 基于范围的 for 循环 它在大多数情况下都有效 但我无法理解和解决其中一个问题 for auto const point fProjectData gt getPoi
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • 如何获取 EF 中与组合(键/值)列表匹配的记录?

    我有一个数据库表 其中包含每个用户 年份组合的记录 如何使用 EF 和用户 ID 年份组合列表从数据库获取数据 组合示例 UserId Year 1 2015 1 2016 1 2018 12 2016 12 2019 3 2015 91
  • x:将 ViewModel 方法绑定到 DataTemplate 内的事件

    我基本上问同样的问题这个人 https stackoverflow com questions 10752448 binding to viewmodels property from a template 但在较新的背景下x Bind V
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • 在 WPF 中使用 ReactiveUI 提供长时间运行命令反馈的正确方法

    我有一个 C WPF NET 4 5 应用程序 用户将用它来打开某些文件 然后 应用程序将经历很多动作 读取文件 通过许多插件和解析器传递它 这些文件可能相当大 gt 100MB 因此这可能需要一段时间 我想让用户了解 UI 中发生的情况
  • C++ 中的 include 和 using 命名空间

    用于使用cout 我需要指定两者 include
  • C# 中最小化字符串长度

    我想减少字符串的长度 喜欢 这串 string foo Lorem ipsum dolor sit amet consectetur adipiscing elit Aenean in vehicula nulla Phasellus li
  • C# 使用“?” if else 语句设置值这叫什么

    嘿 我刚刚看到以下声明 return name null name NA 我只是想知道这在 NET 中叫什么 是吗 代表即然后执行此操作 这是一个俗称的 条件运算符 三元运算符 http en wikipedia org wiki Tern
  • 现代编译器是否优化乘以 1 和 -1

    如果我写 template
  • 如何确定 CultureInfo 实例是否支持拉丁字符

    是否可以确定是否CultureInfo http msdn microsoft com en us library system globalization cultureinfo aspx我正在使用的实例是否基于拉丁字符集 我相信你可以使
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前

随机推荐

  • Xcode“使用未声明的标识符”

    我知道很多人问这个问题 但所有答案都是特定的应用程序 所以我不明白如何为我的应用程序工作 tableData NSArray arrayWithObjects Chocolate Brownie Mushroom Risotto nil N
  • 使用 jQuery 发送新的 ajax 请求之前添加延迟

    我有一个指向 html 页面的链接列表 ul li a href assets data item1 html Item 1 a li li a href assets data item2 html Item 2 a li li a hr
  • 签名 APK:失败 [INSTALL_FAILED_DEXOPT].. 已更新

    生成的 app release apk 在我的设备上不起作用 但 app debug apk 工作正常 Update 转到我的应用程序的先前版本后 in my MainActivity我有这个字符串 public class MainAct
  • 获取codeigniter中复选框的多个值

    我目前正在做一个项目 我有一个复选框 用户将在其中选择公司提供的服务类型 当我尝试在控制器中发布所选的服务 例如检查了 2 个服务 时 我只获得一项服务 问题是如何获取复选框中的多个值 注意 我还尝试在控制器中使用 foreach 但收到一
  • GitHub:限制对特定分支的访问[重复]

    这个问题在这里已经有答案了 有没有办法限制对存储库中某些分支的访问 我们有生产和主分支 有时会因流氓推送而变得混乱 Not with GitHub in the same repo as opposed to local repos whi
  • 错误:启动 my_project docker 设置时,池与此地址空间上的其他池重叠

    我正在尝试设置 docker 但收到以下错误 错误 池与此地址空间上的其他池重叠 请问我应该怎么解决呢 您能否向我们提供您运行的命令以及您的docker compose yml请归档 您遇到的错误表明您存在网络地址冲突 要检查您是否可以运行
  • GitHub Actions:仅针对某些拉取请求基础分支运行步骤

    我已经在 GitHub Actions 上工作了一段时间了 我们已经制定了指定的工作流程 工作流程是用 yaml 编写的 我正在尝试放一些if的条件为github ref并且 yaml 的该块在运行时被跳过 这意味着 如果针对 X 分支提出
  • 如何从循环内正确修改Python循环的迭代器

    我基本上需要的是检查列表中的每个元素 如果符合某些条件 我想将其从列表中删除 比如说 list a b c d e 我基本上想写 原则上而不是我尝试实现的实际代码 如果列表中的元素是 b 或 c 则将其从列表中删除并获取下一个 But fo
  • 将 SVG 转换为 png 或其他?

    由于在 iPython 笔记本中显示 SVG 文件的内容非常容易 是否还有一种方法 也很简单 来获取我们在 png 文件或其他文件中看到的内容 from IPython display import SVG SVG filename ima
  • sonar-plugin-api 4.5.2 的 Javadoc

    为了开发我自己的SonarQube插件 我正在搜索sonar plugin api 4 5 2的javadoc api 但我在互联网上没有找到它 对于 3 x x 版本 maven 还下载了 jar 的源代码 因此我能够从中生成 javad
  • SWI Prolog 中的 Python pickling 等效吗?

    我有一个 Prolog 程序 我正在对所有达到一定长度的字符串进行强力搜索 我正在检查哪些字符串与特定模式匹配 不断添加模式 直到希望找到一组涵盖所有字符串的模式 我想将哪些存储到与我的任何模式都不匹配的文件中 这样当我添加新模式时 我只需
  • mprotect() 的替代方法

    mprotect 系统调用保护页边界内的内存区域 int mprotect void addr size t len int prot Here len应该是页面大小的倍数 有没有办法只保护几个连续的地址 这些地址不与页边界对齐 即len
  • 使用 Yocto 构建固件的最佳实践

    我有一个基于 rocko 分支的工作 Yocto 构建系统 该系统正在为基于 ARM 的目标板生成图像 该板上的芯片之一是一个基于 ARM 的小型微控制器 与主 CPU 分离 它需要加载我必须构建的固件映像 制定构建此微控制器固件的方法很容
  • 如何将 DD-MM-YYYY 日期格式字符串转换为 YYYY-MM-DD 日期格式字符串或 Objective-C 中的 NSDate 对象?

    我已经从 XML 中读取了日期 它给了我返回日期的字符串DD MM YYYY 但是当我想将它添加到我的核心数据数据库时 SQLite 对我进行了错误的排序 因此我必须将其转换为日期格式或字符串 例如 YYYY MM DD 但 SQLite
  • Fody 仅在 MSBuild 16 及更高版本上受支持。当前版本:15

    Visual Studio 2017 让我知道今天早上对 Fody 版本 5 进行了升级 我接受并更新了 Fody 和 PropertyChanged Fody 的 NuGet 包 现在 我的项目 解决方案将不再构建 错误是 Fody 仅在
  • 如何使用.NET Timer类在特定时间触发事件?

    我希望在我的应用程序中触发一个事件 该事件在一天中的某个时间 例如下午 4 00 连续运行 我考虑每秒运行一次计时器 当时间等于下午 4 00 时运行该事件 这样可行 但我想知道是否有办法只在下午 4 00 回调一次 而不必继续检查 像这样
  • 多次处理对象错误。 CA2202。有没有更好的办法?

    如何确保以下代码以更好的方式处理所有对象 目前 代码分析告诉我 错误 45 CA2202 Microsoft Usage 对象 ns 可以在方法 CPCommunicator GetResults string 中多次处置 为了避免生成 S
  • 如何使用nodejs从系统获取本地时区

    有没有办法使用nodejs从系统 例如 ubuntu 获取本地时区 我使用 moment js 提取日期和时间值 但也找不到提取时区的方法 现有的答案将告诉您当前的时区偏移量 但是如果您要比较历史 未来的时间点 您将会遇到问题 因为这无法满
  • 同一台机器上有 2 个 Sonar 实例

    我们可以在同一台机器上运行 Sonar 的 2 个实例 2 个不同版本 吗 目前 Sonar 3 7 3 已安装并与 Hudson 一起用于 Sonar Reports 现在 有一些项目运行在 Java 8 上 而 3 7 3 Sonar
  • using 声明不能在函数作用域内重复。这是为什么?

    在 namespace udecl 10 中有以下示例 namespace A int i namespace A1 using A i using A i OK double declaration void f using A i us