模板之外的类型名

2024-01-24

这在 VS2010sp1 中无法编译(不过它可以使用 gcc 4.6 进行编译):

template<class T>
struct Upcast;

template<>
struct Upcast<signed char>
{
    typedef signed short type;
};

template<>
struct Upcast<char>
{
    typedef typename std::conditional<std::is_signed<char>::value,short, unsigned short>::type type;
};

int main()
{
    Upcast<char>::type a;
    return 0;
}

VS 的错误:

Error   1   error C2899: typename cannot be used outside a template declaration

哪个团队是正确的? VS 还是 gcc?


VS 在 C++03 上是正确的。 GCC 在 C++0x 上是正确的。

现在,GCC 在 C++03 模式下也允许这样做可能是明智的(有很多真正的编译器在 C++03 模式下无法诊断的事情实际上只在 C++0x 中有效),并且它可能是- VS 在 C++03 模式下拒绝它是明智的。

是否使用已经不重要了typename QualifiedName在 C++0x 中是否发生在模板中。也就是说,以下内容对于 C++0x 是完全合法的:

#include<vector>

int main() {
  typename std::vector<int> v;
}

在 C++03 中,typename只能在模板内部使用。并且代码中的显式专业化不是模板。没有template<typename T ...>子句(代码中的所有参数都是固定的)。

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

模板之外的类型名 的相关文章

  • 如何在 .NET Framework 2.0 中模拟“Func<(Of <(TResult>)>) 委托”?

    我尝试使用这个类代码项目文章 http www codeproject com KB threads AsyncVar aspx在 VB NET 和 NET Framework 2 0 中 除了这一行之外 所有内容似乎都可以编译Privat
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 提交后禁用按钮

    当用户提交付款表单并且发布表单的代码导致 Firefox 中出现重复发布时 我试图禁用按钮 去掉代码就不会出现这个问题 在firefox以外的任何浏览器中也不会出现这个问题 知道如何防止双重帖子吗 System Text StringBui
  • MVC 在布局代码之前执行视图代码并破坏我的脚本顺序

    我正在尝试将所有 javascript 包含内容移至页面底部 我正在将 MVC 与 Razor 一起使用 我编写了一个辅助方法来注册脚本 它按注册顺序保留脚本 并排除重复的内容 Html RegisterScript scripts som
  • ClickOnce 应用程序错误:部署和应用程序没有匹配的安全区域

    我在 IE 中使用 FireFox 和 Chrome 的 ClickOnce 应用程序时遇到问题 它工作正常 异常的详细信息是 PLATFORM VERSION INFO Windows 6 1 7600 0 Win32NT Common
  • 使用 Newtonsoft 和 C# 反序列化嵌套 JSON

    我正在尝试解析来自 Rest API 的 Json 响应 我可以获得很好的响应并创建了一些类模型 我正在使用 Newtonsoft 的 Json Net 我的响应中不断收到空值 并且不确定我的模型设置是否正确或缺少某些内容 例如 我想要获取
  • 如何创建包含 IPv4 地址的文本框? [复制]

    这个问题在这里已经有答案了 如何制作一个这样的文本框 我想所有的用户都见过这个并且知道它的功能 您可以使用带有 Mask 的 MaskedTestBox000 000 000 000 欲了解更多信息 请参阅文档 http msdn micr
  • 获取两个工作日之间的天数差异

    这听起来很简单 但我不明白其中的意义 那么获取两次之间的天数的最简单方法是什么DayOfWeeks当第一个是起点时 如果下一个工作日较早 则应考虑在下周 The DayOfWeek 枚举 http 20 20 5B1 5D 3a 20htt
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 在 Visual Studio 2010 中从 Fortran 调用 C++ 函数

    我想从 Fortran 调用 C 函数 为此 我在 Visual Studio 2010 中创建了一个 FORTRAN 项目 之后 我将一个 Cpp 项目添加到该 FORTRAN 项目中 当我要构建程序时出现以下错误 Error 1 unr
  • 使用自定义堆的类似 malloc 的函数

    如果我希望使用自定义预分配堆构造类似 malloc 的功能 那么 C 中最好的方法是什么 我的具体问题是 我有一个可映射 类似内存 的设备 已将其放入我的地址空间中 但我需要获得一种更灵活的方式来使用该内存来存储将随着时间的推移分配和释放的
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • CMake 无法确定目标的链接器语言

    首先 我查看了this https stackoverflow com questions 11801186 cmake unable to determine linker language with c发帖并找不到解决我的问题的方法 我
  • Blade中的Section和Stack有什么区别?

    我们可以使用一个section定义一些 HTML 然后yield那在其他地方 那么为什么我们有堆栈呢 https laravel com docs 5 2 blade stacks https laravel com docs 5 2 bl
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • System.IO.FileNotFoundException:找不到网络路径。在 Windows 7 上使用 DirectoryEntry 对象时出现异常

    我正在尝试使用 DirectoryEntry 对象连接到远程 Windows 7 计算机 这是我的代码 DirectoryEntry obDirEntry new DirectoryEntry WinNT hostName hostName
  • WebSocket安全连接自签名证书

    目标是一个与用户电脑上安装的 C 应用程序交换信息的 Web 应用程序 客户端应用程序是 websocket 服务器 浏览器是 websocket 客户端 最后 用户浏览器中的 websocket 客户端通过 Angular 持久创建 并且
  • 使用 .NET Process.Start 运行时挂起进程 - 出了什么问题?

    我在 svn exe 周围编写了一个快速而肮脏的包装器来检索一些内容并对其执行某些操作 但对于某些输入 它偶尔会重复挂起并且无法完成 例如 一个调用是 svn list svn list http myserver 84 svn Docum
  • 如何从 ODBC 连接获取可用表的列表?

    在 Excel 中 我可以转到 数据 gt 导入外部数据 gt 导入数据 然后选择要使用的数据源 然后在提供登录信息后 它会给我一个表格列表 我想知道如何使用 C 以编程方式获取该列表 您正在查询什么类型的数据源 SQL 服务器 使用权 看
  • 从列表中选择项目以求和

    我有一个包含数值的项目列表 我需要使用这些项目求和 我需要你的帮助来构建这样的算法 下面是一个用 C 编写的示例 描述了我的问题 int sum 21 List

随机推荐

  • 将二进制字符串转换为浮点数

    我有一个正在存储位的对象 class Bitset def init self bitstring self bitlist for char in bitstring self bitlist append int char def fl
  • 如何从 Forms 身份验证迁移到 ASP .NET Identity

    我正在从事一个包含常规 MVC 控制器和 Web API 控制器的 MVC 项目 最初 我使用自定义用户表实现了表单身份验证 但现在我计划使用新的 ASP NET Identity 并将基于表单 cookie 的身份验证更改为基于声明的身份
  • 如何将实际的 NULL 值插入到可为空的列中?

    function save gmt name address phone remark query INSERT INTO user gmt name address phone remark VALUES gmt name address
  • 如何读取 IRAF 多光谱光谱?

    我在用 Iraf 生成的拟合文件中有一个光谱 波长轴在标头中编码为 WAT0 001 system multispec WAT1 001 wtype multispec label Wavelength units angstroms WA
  • 为什么 HSV 上的颜色分割更容易?

    我听说 如果您需要在软件上进行颜色分割 如果满足某些阈值规则 如 R100 10 主要原因是它将颜色信息 色度 与强度或照明 亮度 分开 由于值是分开的 因此您可以仅使用饱和度和色调构建直方图或阈值规则 理论上 无论值通道中的光照如何变化
  • html中溢出时如何向文本添加三个点? [复制]

    这个问题在这里已经有答案了 How can I show three dots in a text like this 添加所有这些 制作单线 text overflow ellipsis white space nowrap overfl
  • JBoss EAP 7 启动期间“读取属性”操作失败

    我已在 SSL 模式下将应用程序部署在 JBoss EAP 7 上 我的应用程序已部署并成功运行 但在启动过程中 每次服务器启动并且同时部署 WAR 时 我都会在控制台上收到以下错误 不会引发异常 11 28 11 402 ERROR or
  • 无法在鼠标输入时使用 jquery 将焦点设置为下拉列表

    这是我的 html 代码 div hello div div div
  • proguard - AppCompat 不支持 proguard/minify 后的当前主题功能

    我已将支持库从 v22 2 1 更新到 v23 0 0 在构建应用程序 使用 minifyEnabled true 后 出现 AppCompat 不支持当前主题功能 异常 08 23 05 46 10 168 19437 19437 E A
  • C++中纯虚函数有什么用?

    我现在正在课堂上学习 C 我不太理解纯虚函数 我知道它们稍后会在派生类中概述 但如果您只是要在派生类中定义它 为什么要将其声明为等于 0 简单来说 就是让类变得抽象 这样它就不能被实例化 但子类可以重写纯虚方法 形成一个具体的类 这是在 C
  • 根据查询将所有行提取到数组中

    我有以下代码 2 Query database for data result mysql query SELECT FROM tableName query array mysql fetch row result fetch resul
  • 如何使用 EasyPHP 5.3.8 安装 PEAR?

    我正在学习 Yii 并关注杰弗里 温塞特撰写的电子书 https rads stackoverflow com amzn click com 1847199585 该应用程序是基于 TDD 构建的 因此 我需要安装 PHPUnit 来编写单
  • 如何在 Android 13 上打开免提通话

    显然有很多帖子展示了如何在早期 Android 版本上打开扬声器 这些在新操作系统中不起作用 有人可以发布 Xamarin Forms 解决方案吗 AudioManager 在早期版本中使用 但当前操作系统需要额外的权限或不同的 API 提
  • Scala 解析器组合器解析 xml?

    scala 的解析器组合器可以解析 xml 并验证结束标签与开始标签的名称相同吗 我并不直接需要它 但我想知道我的库的限制 是的 它可以做到这一点 使用into or gt gt 实际上是同一件事 根据解析值参数化后一个解析器
  • Symfony 在生产中禁用控制器操作[重复]

    这个问题在这里已经有答案了 当 prod 环境处于活动状态时 是否可以 禁用 特定操作 我有一些不应在生产环境中执行的测试操作 class TestController extends FOSRestController Rest Get
  • Django REMOTE_USER 不存在,但 HTTP_REMOTE_USER 存在

    All 我有一个应该是一个非常简单的问题 我正在尝试按照以下说明使用 REMOTE USER 变量来使用 Django 身份验证 https docs djangoproject com en 1 8 howto auth remote u
  • 部署到 Heroku 错误:找不到模块“/app/server.js”

    我正在将使用 angular cli 创建的 Angular 6 应用程序部署到 Heroku 构建成功完成 但是 当我转到已部署的应用程序时 我看到一个空白页面 运行 Heroku 日志后 启动节点服务器实例时似乎发生错误 崩溃 找不到模
  • 在 Sharepoint 站点中发布 Excel 工作簿

    我有一个 Excel 工作簿 我需要使用 Excel VBA 在 SharePoint 网站中发布它 所以我使用以下代码在模块中创建了一个方法 Private sc Lists As SoapClient30 Public c WSDL U
  • AccessDenied:无权执行 sts:AssumeRoleWithWebIdentity

    我查看过类似的问题 但无法解决我的问题 我正在开发一个 Web 应用程序 用户将使用 AWS Cognito 的身份验证进行身份验证 注册部分正常 但是当我尝试登录时 我收到 未授权 异常 我已经尝试将自定义策略附加到我的 IAM 角色 授
  • 模板之外的类型名

    这在 VS2010sp1 中无法编译 不过它可以使用 gcc 4 6 进行编译 template