📄 covariant1.c
字号:
// PR c++/5607// Currently we don't support covariant returns that would actually require// a pointer adjustment. We were failing to recognize this as such a case,// so were silently generating bad code. When we do support covariant// returns properly, the expected error should go away, and the testcase// should pass execution.// { NOT YET dg-do run }class A {public: virtual A* getThis() { return this; }};class B {int a;public: virtual B* getThis() { return this; }};class AB : public A, public B { // { dg-error "covariant" }public: virtual AB* getThis() { return this; }};int main (){ AB* ab = new AB(); A* a = ab; B* b = ab; if (a->getThis() != a || b->getThis() != b) return 1; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -