模板非类型参数

2023-12-28

$14.3.2 - “...非类型、非模板模板参数的模板参数应为以下之一:

...指定具有静态存储持续时间的对象的地址的常量表达式 (5.19)外部或内部链接或具有外部或内部链接的功能......”

在下面显示的代码中,我无法理解为什么不允许“name2”和“name3”作为非类型模板参数。我在 Windows 上使用 gcc 4.7.2。

'name2' 和 'name3' 都是数组的名称,因此是常量表达式。此外,“name2”具有内部链接,“name3”同时具有静态链接和内部链接。

template<char const *p> void f()
{

}

char name1[] = "Hi";
static char name2[]= "Hi";
const static char name3[]= "Hi";
char *name4 = "Hi";

int main()
{
    f<name1>();
    f<name2>();
    f<name3>();
    f<name4>();
}

正如 @Nawaz 正确猜测的那样,这是一个实现错误,而不是标准的深奥角落。

具体来说,gcc 似乎遇到了麻烦。排除最后一个name4这是违反标准的,其余部分可以很好地编译clang http://liveworkspace.org/code/JDZqy%2450

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

模板非类型参数 的相关文章

  • 在实体框架拦截器中向 DbScanExpression 添加内部联接

    我正在尝试使用实体框架 CommandTree 拦截器通过 DbContext 向每个查询添加过滤器 为了简单起见 我有两个表 一个称为 User 有两列 UserId 和 EmailAddress 另一个称为 TenantUser 有两列
  • 如何保证对象只有一个线程

    我有以下代码 class Service public void start creates thread which creates window and goes to message loop void stop sends WM C
  • 我如何理解这个 C 类型声明?

    double bar int double double double double 在查看讲座幻灯片时 我发现了留给学生的练习 用简单的英语来说 什么是类型bar在这个 C 声明中 Please帮助我解决这个问题 我什至不知道从哪里开始
  • 如何在 C# / .NET 中创建内存泄漏[重复]

    这个问题在这里已经有答案了 可能的重复 托管代码中是否可能存在内存泄漏 特别是 C 3 0 https stackoverflow com questions 6436620 is it possible to have a memory
  • 模板中的 bson.ObjectId

    我有一个具有 bson ObjectId 类型的结构 例如如下所示 type Test struct Id bson ObjectId Name string Foo string 我想在 html 模板中呈现它 Name Food a h
  • ASP.NET Web API 客户端 ProgressMessageHandler Post 任务卡在 WinForm 应用程序中

    我在用着HttpClient and ProgressMessageHandler来自MS ASP NET Web API 客户端库 http nuget org packages Microsoft AspNet WebApi Clien
  • 根据 N 个值中最小的一个返回不同的结果

    不确定如何使标题更具描述性 所以我只是从一个例子开始 我使用下面的代码位 它从枚举中选择一个方向 具体取决于四个轴中哪一个与给定方向相比形成最小角度 static Direction VectorToDirection Vector2 di
  • 类特定的新删除运算符是否必须声明为静态

    标准中是否要求类特定的 new new delete 和 delete 是静态的 我可以让它们成为非静态成员运算符吗 为什么需要它们是静态的 它们被隐式声明为静态 即使您没有键入 static
  • fprintf() 线程安全吗?

    我正在为野人就餐问题的某些变量编写一个 C 解决方案 现在 我创建线程 每个线程都将 FILE 获取到同一个调试文件 在线程内我正在使用 fprintf 进行一些打印 打印的语句不受任何类型的互斥锁等保护 我没有在调试文件中观察到任何交错行
  • 在 JSQMessagesViewController 中显示 LocationMediaItem

    我刚刚尝试实施LocationMediaItem in my Xamarin iOS应用程序使用JSQMessagesViewController 一切都很顺利 唯一的问题是UICollectionView应该显示位置的单元格永远停留在加载
  • 从 WebBrowser 控件 C# 获取滚动值

    我试图在 WebBrowser 控件中获取网页的 Y 滚动索引 但无法访问内置滚动条的值 有任何想法吗 对于标准模式下的 IE 使用文档类型 正如你所说 scrollTop是的财产元素 而不是 HtmlDocument htmlDoc th
  • std::forward_as_tuple 将参数传递给 2 个构造函数

    我想传递多个参数以便在函数内构造两个对象 以同样的方式std pair
  • 检查 RoutedEvent 是否有任何处理程序

    我有一个自定义 Button 类 当单击它时 打开特定窗口 它总是执行相同的操作 我添加了一个可以在按钮的 XAML 中分配的 Click 事件 就像常规按钮一样 当它被单击时 我想执行 Click 事件处理程序 如果已分配 否则我想执行默
  • 将二进制数据从 C# 上传到 PHP

    我想将文件从 Windows C 应用程序上传到运行 PHP 的 Web 服务器 我知道 WebClient UploadFile 方法 但我希望能够分块上传文件 以便我可以监控进度并能够暂停 恢复 因此 我正在读取文件的一部分并使用 We
  • 无法在内存位置找到异常源:cudaError_enum

    我正在尝试确定 Microsoft C 异常的来源 test fft exe 中 0x770ab9bc 处的第一次机会异常 Microsoft C 异常 内存位置 0x016cf234 处的 cudaError enum 我的构建环境是 I
  • 如何通过 JsonConvert.DeserializeObject 在动态 JSON 中使用 null 条件运算符

    我正在使用 Newtonsoft 反序列化已知的 JSON 对象并从中检索一些值 如果存在 关键在于对象结构可能会不断变化 因此我使用动态来遍历结构并检索值 由于对象结构不断变化 我使用 null 条件运算符来遍历 JSON 代码看起来像这
  • IEnumerable.Except 不起作用,那么我该怎么办?

    我有一个 linq to sql 数据库 非常简单 我们有 3 个表 项目和用户 有一个名为 User Projects 的连接表将它们连接在一起 我已经有了一个获得的工作方法IEnumberable
  • 您是否将信息添加到每个 .hpp/.cpp 文件的顶部? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 创建新的 C 头文件 源文件时 您会在顶部添加哪些信息 例如 您是否添加日期 您的姓名 文件描述等 您是否使用结构化格式来存储此信息 e g F
  • 更改 Windows Phone 系统托盘颜色

    有没有办法将 Windows Phone 上的系统托盘颜色从黑色更改为白色 我的应用程序有白色背景 所以我希望系统托盘也是白色的 您可以在页面 XAML 中执行此操作
  • 使我的 COM 程序集调用异步

    我刚刚 赢得 了在当前工作中维护用 C 编码的遗留库的特权 这个dll 公开使用 Uniface 构建的大型遗留系统的方法 除了调用 COM 对象之外别无选择 充当此遗留系统与另一个系统的 API 之间的链接 在某些情况下 使用 WinFo

随机推荐

  • Jetpack Compose 如何删除 EditText/TextField 下划线并保留光标?

    您好 我需要删除文本字段中的下划线 因为当文本字段是圆形时它看起来很难看 我已将 activeColor 设置为透明 但光标不会显示 因为它是透明的 如何删除下划线 activeColor并保留光标 这是我的圆形文本字段代码 Composa
  • jQuery 和 ajax 在 PHP 中设置会话变量

    我在 PHP 中使用会话变量来管理多语言站点中的当前语言 为了实现我想要的 我使用了一个标志图标 当单击该图标时 jQuery 它会告诉 lang json php 将会话变量切换到新语言 我在 jQuery 方面没有收到错误 var se
  • 如何裁剪两幅图像的差异?

    我想拍这两张照片 基本上产生这个 我已经尽可能使用compare with fuzz定义已更改的部分 是否可以获取该区域的边界框并裁剪第二帧 我会按照这些思路做一些事情 convert a jpg b jpg colorspace gray
  • 附近连接 2.0:何时可以同时发布广告/发现?

    我目前正在尝试使用 P2P CLUSTER 策略同时进行广告和发现 我相信这应该有效 因为可用的文档 https developers google com nearby connections strategies表示 P2P CLUST
  • Visual Studio Code 中的 C++ IntelliSense 无法识别 C++ STL

    我在我的 Linux 笔记本电脑上使用 Visual Studio Code 我刚刚写了一个像这样的简单程序main cpp include
  • 警告:scalac:有一个弃用警告;使用 -deprecation 重新运行以获取详细信息

    请注意消息输出中的这一点 警告 scalac 有一个弃用警告 使用 deprecation 重新运行以获取详细信息 这是什么意思 我应该重新运行什么 我尝试重建和同步项目 但警告信息仍然存在 从命令行找到了解决方案 sbt set scal
  • 使用 wix 安装较新版本的 msi 时从程序和功能中删除程序

    我正在使用 WIX 创建安装程序 msi 当我安装较新版本的应用程序时 我的旧应用程序已安装在计算机上 然后它会删除旧版本的所有文件和程序集并放置较新版本的文件和程序集 但在控制面板的程序和功能中显示旧版本和新版本 我正在使用以下代码进行升
  • jQuery:检查下一个元素是否存在

    有没有办法检查下一个元素是否存在 检查我的代码 if people making of mask ul li current next li null alert Exists else alert Dont exists 我究竟做错了什么
  • 在 C++ 中通过 OpenCV 以非常小的步长平移图像

    我正在以非常小的步长进行图像翻译 例如按 1 1024 在列中翻译 考虑我有以下图像 我在 opencv 中使用 Mat 创建图像 类型为 CV 64F 255 0 0 0 现在 通过在 1 1024 列中进行翻译 我期望得到以下结果 25
  • Eclipse 不使用添加类路径变量中的 jar

    我添加了一个指向 jar 缓存的类路径变量 通过 eclipse 的构建路径 虽然此文件夹显示在 Eclipse 的文件夹视图中 但由于某种原因无法识别其中包含的 jar 例如 当我导入缓存中的 jar 中存在的类 以及添加的类路径变量 时
  • div 内文本中的新行

    当我放置通过 ajax 调用加载的文本时 我遇到了一个小问题 我从文本区域获取内容并将其存储在数据库中 当我想在 div 中显示文本时 它不尊重新行 因此所有文本都是连续的 下面的代码展示了一个小例子 function buttonA cl
  • Eclipse 中“现有连接被远程主机强制关闭”

    我一直在使用 Eclipse 构建 Android 应用程序 并在我的 HTC One X 上测试它们 我从 HTC Sync 安装了驱动程序 并且 Eclipse 是最新的 最近 此连接完全停止工作 计算机 运行 Windows 8 Pr
  • 禁用和启用后退按钮

    在应用程序中 我正在使用 GPS 查找用户位置 在异步预执行方法中 我正在显示一个吐司 我希望在显示吐司时应禁用后退按钮 找到位置后 我想在执行后启用后退按钮 禁用我使用过的后退按钮 但这不起作用 OnKeyListener mainScr
  • 使用 JWT 保护 WebAPI

    我正在尝试编写一个移动应用程序 该应用程序将从基于 webapi 的站点获取数据 该站点应通过 ACS 进行保护 因为可能有多个身份提供商 我的移动应用程序当前正在查询以下网址获取 IP 列表 然后 我允许用户选择 IP 然后使用 Web
  • 错误:R 无法连接到 MySQL

    我昨天将MySQL更新到最新版本8 0 11 并尝试使用RMySQL连接MySQL 但它不起作用 我找不到任何解决方案 My code library RMySQL con lt dbConnect MySQL user hello pas
  • 如何替换va_list中的值?

    我想做一些关于 va list 的练习 这是我的代码 int myscanf char fmt va list ap va start ap fmt vfscanf stdin fmt ap va end ap int main int a
  • 通过 iPhone 应用程序在 Facebook“提要”上发布图片

    我正在使用 ASIHTTPRequest 来处理 Facebook 图形 API 这是我最近在动态上发布图片的一次 所以如果我有一个 ASIFormDataRequest request ASIFormDataRequest request
  • 函数式语言中折叠/归约的实际使用

    Fold aka reduce 被认为是一个非常重要的高阶函数 Map可以表示为fold see here http en wikipedia org wiki Fold 28higher order function 29 List fo
  • 如何在调用下一个回调函数之前添加延迟?

    我正在尝试制作一个 javascript 横幅 我在一个 div 中有 3 个图像 id 为 img1 img2 img3
  • 模板非类型参数

    14 3 2 非类型 非模板模板参数的模板参数应为以下之一 指定具有静态存储持续时间的对象的地址的常量表达式 5 19 外部或内部链接或具有外部或内部链接的功能 在下面显示的代码中 我无法理解为什么不允许 name2 和 name3 作为非