问题标签 [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.
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
c++ - 在 UML 中绘制模板类
我在 UML 中绘制模板类图时遇到问题。
我知道在 UML 中,模板类应该在类的右上角有一个小矩形,但问题是我如何绘制它?
是否有任何称为模板类的特殊选项或者我必须手动绘制它?
顺便说一句,我正在使用 Visio 2013 来绘制课程。
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
仅删除一个实例化的规范,并且 --- 如果可能的话 --- 我不确定语法是什么。
c++ - 在模板类中声明 std::pair 的 C++ 错误
我想避免std::pair()
在std::make_pair()
插入map
. 我也想知道插入操作的成功状态,所以不能用operator[]
. 我尝试了以下代码,但它产生了编译错误。
错误 :
帮我解决问题。
c++ - 为什么模板类不能正常工作双重?
我有以下代码:
输出:
为什么它显示 7 表示 double 而不是 7.5 ?
当我明确专门针对 double 并且不使用引用运算符时,它运行良好。
这为双精度提供了正确的输出。但是,当我这样做时,它会出错。
如何解决这个问题?
如何显示 double 的正确输出?
c++ - C++ 类模板无法将函数定义与现有声明匹配
我在头文件中有以下内容。具有许多功能的模板类。
我的问题是我只收到上面包含的函数的错误消息。我无法弄清楚问题所在。
你能看出有什么问题吗?
c++ - 如何使多个模板类具有相同的类型
有两个模板类 A 和 B。如何强制将它们实例化为相同的类型而不将它们与另一个嵌套?例如,如果我定义两个类,如下所示:
那么用户可能会做这样的事情A<int> a;
并且B<float> b;
我想强制 A 和 B 具有完全相同的类型,但我不希望它们相互嵌套。所以当有人使用这两个类时,A 和 B 必须具有相同的类型。有没有办法做到这一点?设计这样的课程有什么好的做法?
谢谢
c++ - 模板类中的非模板函数
我想知道是否有办法在模板类中放置非模板函数。简单地说,我不想编译器为每种类型重复该函数,因为该函数只是在操作指针,因此没有类型。这可能吗?
所以如果你有这样的代码
那么其中的每个函数都将针对每种类型重复 T 我根本不希望这种情况发生
我想要一个对所有类型都是静态的函数,并且不会在内存中为每个单独的类型重复。
c++ - 一个类可以继承另一个自己具体化的类模板吗?
我正在浏览一些代码,我发现了这样的东西:
我想知道这是否是一件有效的事情。如果是,这不应该导致某种自定义循环,因为我们使用另一个依赖于 GarbageCollectorProcess 定义的类来定义 GarbageCollectorProcess?
c++ - 接受模板类的模板函数
我想编写一个模板函数,它接受模板类作为输入参数。
类似上面的东西。该类可以是模板类吗?如果是,我该怎么写?我尝试执行此操作时出错。请帮助我。提前致谢
编辑:
我收到以下错误:错误 1 错误 C2275:'ImageType':非法使用此类型作为表达式
当我在 if else 条件下调用 ReadImage() 函数时发生错误