【发布时间】:2017-10-31 20:12:16
【问题描述】:
`
class A{
public:
int x;
A* p;
};
int main(){
A obj1 = new A(); //no suitable constructor exists to convert from "A *" to "A"
A *obj2 = new A(); //Works fine
return 0;
}
`
为什么类 A 的对象默认声明为指向该类的指针?
换句话说,为什么 obj1 不起作用,而 *obj2 起作用。
【问题讨论】:
-
好吧,你使用的是
new。 -
obj不是指向 A 类的指针。 -
你不应该像写java一样尝试写C++