问题标签 [partial-specialization]

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 投票
1 回答
411 浏览

c++ - 仅在两个成员都被参数化后,使用模板模板参数构建错误

我正在尝试传递一个模板模板参数,它的参数是一个非类型值,其类型等于先前模板参数的子类型(哇!这很难说,因为它很难读!),我是尝试将结果加入单个参数化模板后出现一些构建错误。

我有以下代码(使用 g++ 4.4.1 和 -std=c++0x 编译得很好):

但是,现在看一下Now模板:我有两个由布尔值参数化的成员。concrete_t然而,取决于封闭Now模板的 bool 参数,而MyHold不是。我想改变它,所以我Now用这个替换声明:

但这给了我以下错误:

我已经盯着这个看够久了,我必须说我完全不明白为什么这个简单的更改会引发错误。有任何想法吗?

编辑:这是对问题的最小说明,以(希望)使其更容易思考:

0 投票
3 回答
6395 浏览

c++ - 特定类型的部分模板特化,c++

使用模板的部分专业化我想创建一个函数/方法:

A) 仅处理形式参数的一种特定原始类型(int、double、float、...),而其他类型则抛出异常

B)处理形式参数的更多非原始类型(用户定义类型)和其他类型抛出异常......

一些代码示例会很有帮助(没有 c++ boost 库)。谢谢你的帮助。

0 投票
1 回答
1370 浏览

c++ - C++ 部分模板特化语法

对于主模板:

与模板专业化,有什么区别

0 投票
3 回答
5938 浏览

c++ - C++ 模板部分特化错误

以下代码给了我一个编译错误:class Q64 is not a valid type for a template constant parameter

怎么了?我正在尝试专攻grid_residue课程Q64

更新:

改变了语法。现在出现错误error: function template partial specialization 'grid_residue<GRIDD, Q64>' is not allowed

谢谢

0 投票
2 回答
8273 浏览

c++ - 指针的部分特化,c++

如何对 GList 类进行部分特化以便可以存储 I (即 I*) 的指针?

0 投票
3 回答
2980 浏览

c++ - 双模板方法的部分特化失败

有模板类List。

如何专门化 N=2 的方法负载?此代码无效...

而且这段代码也不起作用。

编译器 g++:

0 投票
3 回答
3827 浏览

c++ - 如何只专门化模板类的某些成员?

代码:

错误:

基本上,我只想专门化一个函数,而对其他函数使用通用定义。(在实际代码中,我有很多我不想专门研究的功能)。

这该怎么做?谢谢!

0 投票
4 回答
28217 浏览

c++ - 为什么函数模板不能部分特化?

我知道语言规范禁止函数模板的部分专业化。

我想知道为什么它禁止它的理由?它们没有用吗?

0 投票
1 回答
1312 浏览

c++ - 在成员函数返回类型上参数化的类模板部分特化

以下代码尝试根据成员函数指针类型的返回类型专门化类模板“special”,导致 VC9 出现编译错误:

错误 C2752:“特殊”:多个部分特化与模板参数列表匹配

GCC-4.3.4 接受相同的代码,如下所示:http://ideone.com/ekWGg
这是 VC9 中的错误,如果是,此错误是否持续存在于 VC10 中?

然而,我想出了一个非常侵入性的解决方法(至少对于这个特定的用例。欢迎更通用的解决方案):

0 投票
6 回答
713 浏览

c++ - 在具有部分特化的 C++ 中使用模板展开循环

我正在尝试使用模板在 C++ 中展开循环,如下所示。

当我在 Cygwin 中编译 w/g++ 3.4.4 时,出现以下错误。

tmp.cpp:12:错误:类型T' of template argument0' 取决于模板参数

我究竟做错了什么?我是否需要以某种方式注释 0 以说明它是 T 类型?

提前致谢。