比如:
class A
{
public:
int d;
A(){}
A(int i){}
};
//如果现在定义一个对象:
A a1(3);
//好像是没问题,定义了一个a1。但是上面那句能不能看成是一个返回值类型为A函数调用?
A *a1(); //但是这句就好像就不是定义对象了,像是在函数声明。。?我想定义一个类类型的指针
A *a2(2);//这句就报错了,这是啥情原因?
请问,对A类, int与A*之间的转换函数,如果要有,该怎么写呢?
追答这个是不行的,A类的转换函数只能将某个其他类型转换为A类型,但不能转换为A类型的指针.
int 要转换为A*只能强制转换,例如:
A* a2=(A*)2;