P********e 发帖数: 2610 | 1 class A
{
int a;
void print(){}
};
class B : public A
{};
void foo ( A** a )
{}
int main()
{
B* a = new B();
foo(&a);
} |
a***x 发帖数: 26368 | 2 不会
【在 P********e 的大作中提到】 : class A : { : int a; : void print(){} : }; : class B : public A : {}; : void foo ( A** a ) : {} : int main()
|
r*******y 发帖数: 1081 | 3 B* converted to A* is ok, but B** converted to A** is not ok
【在 P********e 的大作中提到】 : class A : { : int a; : void print(){} : }; : class B : public A : {}; : void foo ( A** a ) : {} : int main()
|
f******y 发帖数: 2971 | 4 In main(), you did not have "return 0;" :)
【在 P********e 的大作中提到】 : class A : { : int a; : void print(){} : }; : class B : public A : {}; : void foo ( A** a ) : {} : int main()
|
P********e 发帖数: 2610 | 5 standard says, compiler should generate the return for me.
safe~
【在 f******y 的大作中提到】 : In main(), you did not have "return 0;" :)
|
a***y 发帖数: 2803 | 6 有的地方要;,有的地方不需要;
【在 P********e 的大作中提到】 : class A : { : int a; : void print(){} : }; : class B : public A : {}; : void foo ( A** a ) : {} : int main()
|
c***r 发帖数: 1570 | |
P**l 发帖数: 3722 | 8 改成
A* a = new B();
就行了吧
【在 P********e 的大作中提到】 : class A : { : int a; : void print(){} : }; : class B : public A : {}; : void foo ( A** a ) : {} : int main()
|