问题标签 [template-classes]

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

c++ - C++ Errors trying to overload the / operator in a templated class

I'm trying to overload the '+', '-', and '/' operators for a templated class i created. the + and - operators work perfectly, but the / operator overload is giving me errors.

I'm using Visual Studio 2013

I am wanting to overload the / operator to determine the intersection of two sets

Definition:

Here are the errors i'm getting

Error 1 error C2143: syntax error : missing ';' before '<'

Error 2 error C2460: '/' : uses 'Set<T>', which is being defined

Error 3 error C2433: '/' : 'friend' not permitted on data declarations

Error 4 error C2238: unexpected token(s) preceding ';'

Error 5 error C2365: '/' : redefinition; previous definition was 'data variable'

Error 6 error C2904: '/' : name already used for a template in the current scope

Error 7 error C2460: '/' : uses 'Set<int>', which is being defined

0 投票
1 回答
984 浏览

c++ - 在 UML 中绘制模板类

我在 UML 中绘制模板类图时遇到问题。

我知道在 UML 中,模板类应该在类的右上角有一个小矩形,但问题是我如何绘制它?
是否有任何称为模板类的特殊选项或者我必须手动绘制它?

顺便说一句,我正在使用 Visio 2013 来绘制课程。

0 投票
2 回答
100 浏览

c++ - 可以从一个特定模板实例化的构造函数中删除关键字“explicit”吗?

我正在尝试创建一个模板类来强制尺寸正确性(长度除以时间给出速度,等等)。

短篇小说: “无量纲”是可能的实例之一。如果我可以允许从双精度数显式构造所有实例化,并且进一步允许从双精度数隐式构造“无量纲”实例化(并且仅是无量纲实例化),那将会很方便。

长话短说:我的模板类布局为

遵循这种风格,qty<0,0,0>是一个无量纲量,所以应该可以加减 aqty<0,0,0>和 double。我目前已通过声明来强制执行此操作

...但仅将其定义qty<0,0,0>. 这是可行的......但我认为我可以做得更好。如果我允许从 double 到 a 的隐式转换qty<0,0,0>,则添加一个 double 并且qty<0,0,0>不需要特殊处理。用户错误也会给出更多提示性的错误消息 --- 尝试将双倍添加到速度将表明转换是不可能的(理解维度不兼容的基本概念),而不是抱怨函数未定义(这可能会导致用户怀疑模板类中的错误)。

问题是我不能允许对模板参数的任何其他组合进行隐式构造。如果我这样做了,那么添加任何 qty 和 double 总是会成功;我想强迫用户考虑尺寸的正确性,并在添加之前将双精度常量显式转换为适当的尺寸(如果这是预期的操作)。但是,我确实希望允许从双精度数显式构造 --- 没有它,简单的声明

需要一个尴尬的转换功能

这意味着我真正想要的是

如您所见,我不确定是否可以explicit仅删除一个实例化的规范,并且 --- 如果可能的话 --- 我不确定语法是什么。

0 投票
1 回答
1157 浏览

c++ - 在模板类中声明 std::pair 的 C++ 错误

我想避免std::pair()std::make_pair()插入map. 我也想知道插入操作的成功状态,所以不能用operator[]. 我尝试了以下代码,但它产生了编译错误。

错误 :

帮我解决问题。

0 投票
2 回答
261 浏览

c++ - 为什么模板类不能正常工作双重?

我有以下代码:

输出:

为什么它显示 7 表示 double 而不是 7.5 ?
当我明确专门针对 double 并且不使用引用运算符时,它运行良好。

这为双精度提供了正确的输出。但是,当我这样做时,它会出错。

如何解决这个问题?
如何显示 double 的正确输出?

0 投票
0 回答
122 浏览

c++ - C++ 类模板无法将函数定义与现有声明匹配

我在头文件中有以下内容。具有许多功能的模板类。

我的问题是我只收到上面包含的函数的错误消息。我无法弄清楚问题所在。

你能看出有什么问题吗?

0 投票
2 回答
1566 浏览

c++ - 如何使多个模板类具有相同的类型

有两个模板类 A 和 B。如何强制将它们实例化为相同的类型而不将它们与另一个嵌套?例如,如果我定义两个类,如下所示:

那么用户可能会做这样的事情A<int> a;并且B<float> b;

我想强制 A 和 B 具有完全相同的类型,但我希望它们相互嵌套。所以当有人使用这两个类时,A 和 B 必须具有相同的类型。有没有办法做到这一点?设计这样的课程有什么好的做法?

谢谢

0 投票
2 回答
130 浏览

c++ - 模板类中的非模板函数

我想知道是否有办法在模板类中放置非模板函数。简单地说,我不想编译器为每种类型重复该函数,因为该函数只是在操作指针,因此没有类型。这可能吗?

所以如果你有这样的代码

那么其中的每个函数都将针对每种类型重复 T 我根本不希望这种情况发生

我想要一个对所有类型都是静态的函数,并且不会在内存中为每个单独的类型重复。

0 投票
2 回答
144 浏览

c++ - 一个类可以继承另一个自己具体化的类模板吗?

我正在浏览一些代码,我发现了这样的东西:

我想知道这是否是一件有效的事情。如果是,这不应该导致某种自定义循环,因为我们使用另一个依赖于 GarbageCollectorProcess 定义的类来定义 GarbageCollectorProcess?

0 投票
1 回答
222 浏览

c++ - 接受模板类的模板函数

我想编写一个模板函数,它接受模板类作为输入参数。

类似上面的东西。该类可以是模板类吗?如果是,我该怎么写?我尝试执行此操作时出错。请帮助我。提前致谢

编辑:

我收到以下错误:错误 1 ​​错误 C2275:'ImageType':非法使用此类型作为表达式

当我在 if else 条件下调用 ReadImage() 函数时发生错误