问题标签 [function-templates]

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 回答
3012 浏览

c++ - 错误 C2955:“ListRemake”:使用类模板需要模板参数列表

给出错误 C2955: 'ListRemake' : 使用类模板需要模板参数列表。

0 投票
3 回答
885 浏览

c++ - 澄清模板功能专业化

我想创建一个计算器

现在我想让这个 Caculator 添加字符串,所以 add("Tim","Joe") 应该给我 "TimJoe" 。

我可以通过对现有类进行必要的更改来使用模板函数专业化来实现这一点吗?

0 投票
2 回答
435 浏览

jquery - 创建我自己的自定义 JQuery 模板引擎?

我在stackoverflow中进行了快速搜索..但找不到任何我想要的东西。

我试图了解/获得一些关于如何为 jQuery 构建自己的非常简单的模板引擎的指示。

我基本上有一个标准的 AJAX 调用来获取一些 XML(是的..我知道老式的..我可能需要把它拉到 JSON 世界中)。所以我最终会说以下内容(只是一个精简的想法):

因此,对于基于 SINGLE 的记录,我有一些我称之为“PageDataMagic”的东西(是的,非常戏剧化..),它使用 jQuery 遍历 XML 并将 xml 节点值映射到 HTML 元素(当然有一些检查如果元素是复选框等。) - 这是通过将 XML 节点称为数据库中的字段名来完成的/所以只要元素的 ID 以这种方式命名,它就可以工作。

好的,切入正题..如果我想要某种“模板”,即最好是外部 JS/HTML,我将如何动态映射字段名并动态添加重复模板?我猜 jQuery 中有 append() 函数?只是我猜想尝试读取模板文件并创建它的行实例???

这有什么意义吗???也许需要更多的咖啡......

任何帮助虽然非常感谢...

大卫。

- - 编辑 - -

哦,是的,现在由于其他一些限制,它必须是 XML。我知道我可以转换为 JSON,毫无疑问,这会使整个过程更容易。但我需要从 XML 运行,即使它必须解析那 - 有点慢..

0 投票
3 回答
373 浏览

c++ - 模板参数推导(在同一调用中同时使用显式和隐式参数)

我有一个函数的三个模板参数,并且(我认为)编译器推断哪个模板参数是哪个有问题。

模板函数为:

当我尝试用

其中模板参数 P 应对应于 cliques::DisjointSetForest,而普通函数参数是模板类和函数对象。

这失败了

但是,如果我对 P 参数使用诸如 int 或 float 之类的内置类型,则一切都可以正常编译。

例如

所以我的问题是我在这里做错了什么,我怎样才能更好地告知编译器哪个参数是哪个,或者我完全偏离了轨道?

0 投票
5 回答
1449 浏览

c++ - 如何编写可以接受堆栈或队列的函数模板?

我正在实现四种算法,除了它们使用的数据结构外,它们完全相同——两种使用priority_queue,一种使用stack,最后一种使用queue。它们相对较长,所以我希望只有一个函数模板接受容器类型作为模板参数,然后让每个算法使用适当的参数调用该模板,如下所示:

我已经设法使用基于priority_queue- 和 -stack的实现来做到这一点,但我不能对queue基于 - 的算法做同样的事情,因为它使用不同的名称来访问最前面的元素(front( )而不是top( ))。我知道我可以专门针对这种情况使用模板,但是我会有大量重复的代码(这是我试图避免的)。

实现这一目标的最佳方法是什么?我的第一个直觉是为队列创建一个包装类,它添加了一个top( )与 's 等效的操作stack,但我一直在读到子类化 STL 类是一个禁忌。那我应该如何得到这种行为呢?

0 投票
1 回答
344 浏览

c++ - 使用模板函数出现不一致的错误

(这个问题对任何愿意尝试的人都有好处)

嗨,我已经定义了以容器类为参数的重载模板函数

(这里 CntrlCls1 = RWTValOrderedVector和 CntrlCls2 = RWTPtrSortedVector

定义后我调用函数如下

其中 ABC 是CntrCls1<*>类型的实例(即它是一个指针容器)

现在这在我的计算机上编译得很好,但是当我在不同的系统上编译时,由于某种原因,编译器试图用 CntrlCls2 参数实例化函数模板,结果给出错误。

CtrCls1 和 CtrCls2 是不相关的容器。

更新:我正在使用 VS 2008 在两个系统上进行构建,所以这应该不是问题。

Update1:​​我在用 CtrCls2 参数注释掉函数模板后尝试重新编译现在编译正在尝试实例化第一个函数(即没有指针):-(

0 投票
2 回答
1470 浏览

c++ - 如何在编译时选择正确的重载函数模板?

我试图了解如何在编译时选择正确的重载函数模板,但编译器让我很难过。我可以让它工作,但我不明白发生了什么。让我解释。

我有两个结构 A 和 B,如下所示。一个具有特殊功能,另一个具有正常功能。

我的意图是有一种机制,它在编译时根据特殊函数是否可用来选择正确的重载函数模板。我运行了两个函数,它们将结构作为参数,因此它们可以调用适当的函数。

我已经用以下方法对此进行了测试,得到了各种结果:

我想在run(a)没有任何额外参数或 <> 的情况下使用它。当这不起作用时,我的代码有问题吗?

另外,我有兴趣了解这里发生了什么以及为什么会推断出这样的事情,所以我需要给予<A>A不是给予B?我不知道标准说什么以及编译器之间是否有所不同,但至少 Linux 上的 gcc4.4.4 和 Mac 上的 gcc 4.0.1 像我所描述的那样工作。

有人可以对此有所了解吗?谢谢!

0 投票
2 回答
332 浏览

c++ - 与枚举匹配的模板函数中的 C++ 无法解释的变化

我有以下包含模板函数的代码。当我使用第二个参数作为枚举调用此函数时:在某些情况下,它会找到模板专业化,而在某些情况下却没有。

我已经验证枚举在两种情况下都是相同的枚举(例如,没有重新定义)并且其他参数具有正确的值,我发现一个编译是使用 -Winline set 完成的(我还没有尝试更改它)还有什么看着?

0 投票
5 回答
7309 浏览

c++ - 函数模板的部分特化

在下面的代码片段中,

我想修改模板,通过传递除浮点数以外的任何类型将打印“全部”,传递浮点数将打印“浮点数”。我不想要模板专业化,而是有部分专业化,它将根据输入类型相应地采取行动。我该怎么做。提前致谢。

好吧,我目前面临的情况是,我需要定义以下内容,

以下调用应打印“t2”

以下调用应打印“t1”

像上面这样的某种分组,其中很少有人应该调用部分专业化实现,而其他人应该调用默认实现。

0 投票
4 回答
28217 浏览

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

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

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