腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
文章/答案/技术大牛
搜索
搜索
关闭
发布
精选内容/技术社群/优惠产品,
尽在小程序
立即前往
文章
问答
(9999+)
视频
沙龙
1
回答
协
变性是关于接受价值的吗?
、
、
、
因为协方差是关于具有
类型
,它是所需
类型
的基本
类型
之一。因此,协方差仅在
返回
类型
的上下文中使用。在上面的示例中,我们有一个String (它是从Object
派生
的,所以它是反
变
的,而不是
协
变量),它用于传递参数(但不是
返回
值)的上下文中。那么,我们是否应该在上面的例子中使用反式而不是
协
变量(这意味着书中有
错误
)?在评论之后,我有了另一个问题。下列定义正确吗?Contravariant意味着泛型
浏览 2
提问于2019-12-30
得票数 2
回答已采纳
1
回答
返回
派生
类型
时
出现
协
变
类型
错误
我正在尝试创建一个具有
派生
类型
的基类;在基类中,我有一个纯虚方法,它
返回
类型
为DtBase (另一个类)的内容,当在
派生
类中覆盖它
时
,将
返回
类型
为DtDerived (从DtBase
派生
)的内容。我得到一个
错误
,
返回
的
类型
与被覆盖的纯虚函数的
类型
不同,也不是
协
变
的。我不明白为什么会发生这种情况,DtBase和DtDerived不
浏览 17
提问于2020-06-11
得票数 2
回答已采纳
1
回答
为什么List.Contains不能与我的代码一起工作?
、
、
我使用List.Contains来判断变量是否在列表中,但是它不断地
返回
它不是的时候。我的第一个猜测是,我必须从IEquatable继承并在每个
派生
类中实现.Equals方法,但我不太确定。
浏览 0
提问于2012-04-16
得票数 1
回答已采纳
2
回答
从语言上看,反方差与代表的关系如何?
、
、
、
、
来自contravariant:从窄(浮子)到宽(双)转换。在.NET中,委托具有
协
变性,因为它允许委托指定
返回
类型
的
派生
类型
是它保存引用的方法的
返回
类型
。 此外,委托具有逆反关系,因为它允许委托的指定参数(参数)的
派生
类型
是传递给它所引用的方法的参数
类型
。由于这两个定义与代表有关,难道它们不是都是
协
变
的吗?在和两种情
浏览 7
提问于2011-03-08
得票数 3
回答已采纳
6
回答
重写虚拟函数
返回
类型
不同,且不是
协
变量。
、
、
、
、
我犯了一个奇怪的
错误
: class Inner2 : public Inner { }; return Inner2();};
返回
<e
浏览 15
提问于2011-08-06
得票数 9
回答已采纳
5
回答
重载具有相同参数和不同
返回
类型
的虚函数
我有以下代码,它编译没有任何
错误
或警告。long foo我认为函数foo()在
派生
类Son中被覆盖了,并且没有重载,因为下面的程序给了我
错误
。: 'long int Father::foo()' cannot be overloaded这两个结果都是预期的,因为当两个函数只是
返回
类型
不同时但是,当我在第一个程序中将函数foo()声明为virtual
时
,我得到了<e
浏览 0
提问于2013-07-05
得票数 1
回答已采纳
1
回答
g++ 4.2:内部编译器
错误
:在make_thunk中,at cp/method.c.c:129
、
、
在其他几个较新的g++版本上以及在clang++上,各自的代码在没有警告和
错误
的情况下编译。它是简单正确的,
错误
在GCC的bugzilla中提到过(甚至几次,因为它似乎经常
出现
),但是没有提供解决办法。因此,
错误
出现
在一个相关的类中,该类有一
浏览 1
提问于2013-03-18
得票数 0
回答已采纳
3
回答
带有
返回
基于模板的对象的方法的嵌套类中存在“无效
协
变
返回
类型
”
错误
、
、
、
、
下面的C++代码在编译时会给出以下
错误
:我不想将行virtual Q<B> test() {}更改为virtual Q<A> test() {},尽管它删除了编译
错误
浏览 3
提问于2013-06-23
得票数 6
回答已采纳
2
回答
为什么
协
变量
类型
参数仅用于成员的
返回
类型
?
、
、
为什么
协
变
类型
参数(如IEnumerable<out T>
类型
T )只用于
返回
类型
(只读)或逆反变型参数(如Action<in T>
类型
T )仅用作参数
类型
(只写)?换句话说,我认为纯
协
变
概念与仅用于成员
返回
类型
的c#
协
变
类型
参数之间存在着一种关系。
浏览 3
提问于2018-06-12
得票数 2
回答已采纳
1
回答
正确允许包装器中的多态行为
、
、
、
给定某种
类型
T的模板化包装器struct Wrapper {}; Wrapper<Derived> w(v);} 在这种代码中,一些东西是从接口
派生<
浏览 2
提问于2021-03-26
得票数 0
1
回答
协方差/反方差及其与消费者/生产者的关系
然而,我很难理解最后得出的结论: 如果您查看Run+A和Vet的定义,您可能会注意到,
类型
A只
出现
在Run+A方法的
返回
类型
中,并且只
出现
在Vet方法的参数中。更普遍的情况是,生成A
类型
值的
类型
可以在A上进行
协
变
(就像您对Run+A所做的那样),而在A上使用A
类型
值的
类型
可以在A上生成反变体(就像您对Vet所做的那样)。从上面的段落中,您可以推断只有getter的
类型
可以是<em
浏览 0
提问于2017-11-10
得票数 0
回答已采纳
2
回答
如何检查元素在函数中的
协
变
和对变量位置?
、
、
、
、
但是,我无法理解scala编译器抛出的
错误
消息:
协
变
类型
A发生在值pet2
类型
A中的相反位置。class Pets[+A](val pet:A) {} 我对这个代码片段的理解是,Pets是
协
变
的,并且接受A的子
类型
的对象。然而,函数add接受A
类型
的only.Being
协
变
参数意味着Pets可以接受
浏览 4
提问于2018-02-15
得票数 11
回答已采纳
1
回答
返回
泛型而不知道
类型
、
、
、
、
在这种情况下,我有一个类在其泛型
类型
参数中接受某个对象
类型
的实例。}我希望能够创建一个方法来
返回
Handler<DiamondClass>或Handler<BaseClass>的实例,而无需在输入时定义
类型
。这就违背了在不知道
类型
的情况下基于枚举
返回
正确处理程序的方法的目的。(实际
浏览 5
提问于2012-09-27
得票数 8
回答已采纳
2
回答
转换为泛型方法不支持的基
类型
。
、
、
{ } }我有例外: 这似乎很清楚,因为接口IGenericOrd
浏览 3
提问于2015-12-17
得票数 1
回答已采纳
1
回答
重载基类函数
、
virtual HWND GetHandle() const;和一个
派生
类,如下所示:{ /enum class Flags POPUP = MF_POPUP, STRING = MF_STRING}; 然而,编译器给了我一个
错误
,关于重载基类的GetHandle函数的
返回
类型
错误
。如何重载GetHandle以获得不同的
浏览 0
提问于2013-05-25
得票数 0
回答已采纳
5
回答
泛型中的<out T> vs <T>
、
、
<out T>和<T>有什么区别?例如:{}public interface IExample<T> ...
浏览 0
提问于2012-06-09
得票数 229
回答已采纳
2
回答
协
变
返回
类型
在C++克隆习惯用法中是否有用?
、
通常的克隆习惯用法使用
协
变
返回
类型
: virtual Base* clone(); Derived* clone();我读过一些东西,大意是
协
变
返回
类型
是后来添加到C++中的,较旧的编译器可能不支持它们。在这种情况下,Derived类必须声明其clone成员函数以
返回
Base*。既然在使用这种习惯用法
时</
浏览 1
提问于2010-11-17
得票数 4
回答已采纳
4
回答
有没有办法向前声明协方差?
、
、
Foopublic:}; { virtual Foo* foo() = 0;进一步假设我有
派生
类我想
协
变
地优化foo()和bar()方法的
返回
类型
,如下所示:{ ConcreteBar* bar();{ ConcreteFoo* foo();这不会编译,因为我
浏览 0
提问于2009-08-11
得票数 17
回答已采纳
3
回答
关于vb.net接口的一些说明
、
、
我也理解T指的是一种
类型
...Out部分是怎么回事。
浏览 1
提问于2010-08-26
得票数 1
回答已采纳
点击加载更多
扫码
添加站长 进交流群
领取专属
10元无门槛券
手把手带您无忧上云
热门
标签
更多标签
云服务器
ICP备案
对象存储
云直播
实时音视频
活动推荐
运营活动
广告
关闭
领券