问题标签 [class-template]

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 投票
3 回答
2420 浏览

visual-studio-2010 - 即时窗口

我们使用 fluentmigrator,它需要一个长的迁移号。

通常我可以打开即时窗口并输入

但有时它会说:

在设计模式下无法计算表达式。

所以我开始调试再次运行命令并得到这个错误:

在运行模式下无法计算表达式。

编辑添加

如果我开始调试并点击暂停并输入我得到的命令

无法计算表达式,因为当前线程处于睡眠、等待或加入状态

如果我开始调试时遇到断点,那么它可以工作,但是要跳过的环太多了,它在第一个场景中已经工作了。它似乎在构建我的项目,因为如果出现错误,它就不会执行。

这是在视觉工作室 2010 专业版中。

如果有人可以告诉我如何将其作为类模板或可能是 powershell 类型的东西来执行此操作,则可以加分?

我已经在即时窗口中尝试了答案,“无法评估表达式......”并且选择项目不起作用。我没有在即时窗口中得到>,如果我把它放在我得到的命令之前

命令“...”无效。

编辑添加 我创建了这个要点来做我想做的事。

https://gist.github.com/9ad816c2b8e56b57ef79

基本上是一个 powershell 命令来创建 ac# 模板,其中填充了一些废话。

0 投票
1 回答
1675 浏览

c++ - 在依赖范围内调用静态函数模板

template<int I> void ft()假设我在结构模板中有一个静态函数模板template<bool B> S,并且我想ft从另一个函数模板调用template<bool B> void g(),将 bool 模板参数从gto传递给S

在 GCC 4.5.2 中编译它会给出关于该行的两个错误S<B>::ft<12>()

  1. ')' 标记之前的预期主表达式
  2. '<未解析的重载函数类型>'和'int'类型的无效操作数到二进制'operator<'

Comeau ( http://www.comeaucomputing.com/tryitout/ ),在严格的 C++03 模式下,也抱怨该行,指出"expected an expression",在右括号下方有一个插入符号。然而,这两个编译器都没有抱怨这条线S<B>::f(),Comeau 实际上可以在轻松模式下编译整个最小示例。

如果我删除g的模板,而是像这样实例化S的模板参数g

GCC 成功地编译了它,Comeau 在严格的 C++03 模式下也是如此。

从上面 GCC 的第二个错误来看,似乎对 的解释存在歧义S<B>::ft<12>,好像它认为我正在尝试测试是否S<B>::ft小于 12。我知道使用typename来解决在提及时出现的歧义依赖范围内的类型。当出现在依赖范围中的事物是函数而不是类型时,有谁知道如何解决歧义?

0 投票
1 回答
143 浏览

c++ - 列表中的模板错误

我正在尝试实现科赫的雪花。为了练习起见,我制作了一个通用列表,但我遇到了一些问题。

这是我得到的错误:

当我刚刚初始化为 List <GLfloat*> 时,它只会将节点的数据设置为单个值;然而,我想要积分。出于练习目的,我想继续使用通用列表。

0 投票
2 回答
1473 浏览

c++ - How to define a template for pointers and dynamic memory allocation?

I've made a class template called Queue but I'm having problems trying to instanciate it with a pointer to another class called Worker as the type. Queue<Worker*>

The problem I think comes with this concrete Queue method:

In the case of the type parameter being a pointer I need to copy the pointed-to value, not the address (I'm using dynamic memory management) to avoid the program crashing.

I don't know how to solve this with a template.

Any help?

0 投票
2 回答
1849 浏览

c++ - “'<' 标记之前的预期初始值设定项”尝试模板成员特化

我正在尝试在模板类中定义模板成员。

这是头文件的片段:

因此定义了模板成员,但我想对 docopy 方法进行显式特化,以便在类型为指针时进行深度复制。我将使用方法模板和特化从头文件中放入另一个片段:

编译器向我发送以下错误:“<”标记之前的预期初始化程序。

我无法弄清楚我做错了什么。有什么帮助吗?

0 投票
1 回答
108 浏览

c++ - C++ 类模板可以将方法名称作为模板参数吗?

就像题目问的那样,C++类模板可以把方法名作为模板参数吗?

例如,

0 投票
1 回答
449 浏览

c++ - 包含 boost::numeric::ublas::matrix 的类的运算符重载

我有一个类模板,它有一个提升矩阵作为私有成员变量。矩阵数据类型由构造时的类类型决定。这个类有一个成员函数,应该向成员矩阵添加一个常量。该常数与矩阵数据类型一致。我在编写一个重载运算符时遇到问题,它将为任意常量值返回一个更新的成员矩阵。目前,另一个成员函数执行此添加。我的代码如下;

我得到的一些编译器错误是

错误:主模板声明中的模板 ID 'operator+<>'

错误:'((MTool*)this)->MTool::m_ME += k'中的'operator+='不匹配</p>

我对 C++ 模板和类相当陌生,并且确信我的方法中缺少一些基本的东西。任何建议将不胜感激。

0 投票
2 回答
1456 浏览

c++ - C++ - 模板特化和部分特化

我一直在整个互联网和 stackoverflow 上寻找一个具体的答案,但我似乎找不到一个。我必须创建一个通用类,然后实现特定的功能。我的具体说明是:您需要使用模板表达式参数和模板类专业化和部分专业化。

我有一个模板类:

我需要:

1) 只有 x= 2 和 y = 2 的 Z 需要公共方法 void J()

2) 对于 x = 2 和 y= 2 的字符 Z,J 会做一些事情;对于其他所有事情,它会做其他事情

3) 只有在 T 为 char 的 Z 中,数组才会被初始化为某个值。其他的都是 0

自然,这有效:

但这不会:

同样(假设 J 存在)这不起作用:

我的问题是:

是否有任何简单的方法来实现上述项目?我需要将所有其他方法保留在 Z 中。给出提示或指出正确的方向(也许我错过了一个问题,因为有很多问题)会有所帮助。

谢谢。

0 投票
3 回答
180 浏览

c++ - 使用基类的静态函数而不指定参数以避免歧义

我的一些基类有很多参数。现在我想指定使用哪个静态函数:

如您所见,我需要编写两次模板参数,这会导致代码重复。

有没有办法摆脱它?

0 投票
0 回答
727 浏览

visual-studio-2010 - Visual Studio 2010/2012 中的可用占位符

在 Visual Studio 中,我们可以在许多地方使用预定义的占位符,例如,如果我们正在创建构建后事件,一些占位符可用于获取项目信息。如果我们正在查看类模板,则有一些占位符来获取项目特定的东西

可能是这个占位符因地而异(构建后/预构建事件命令、类模板等。)

有没有可以找到所有可用占位符列表的来源?