class-name object-name = new constructor-name()抛出错误(代码第16行) 从这个我可以推断出新的返回指针,我的结论是正确的吗?此外,如果新的不起作用,这是否意味着对象someObject在堆栈上分配而不是堆?如果我想在堆上创建一个对象怎么办?
#include<iostream>
using namespace std;
class someClass
{
public:
int x;
someClass()
{
x=6;
}
};
int main()
{
someClass someObject;
someClass *pointerObject;
someObject = new someClass(); //This line throws error
pointerObject = new someClass();
cout<<someObject.x<<endl<<pointerObject->x;
return 0;
}
p.s:我知道这个问题很模糊,但我无法用更好的语言表达,对于造成的不便,我深表歉意。
答案 0 :(得分:3)
因为new
返回pointer
,您尝试将其分配给对象。 C ++不是C#!
答案 1 :(得分:0)