我有一个类和一个函数,返回该类的对象,如果我返回NULL究竟返回什么?将对象返回为null返回什么?
例子:
class someclass {
int a;
int b;
someclass::someclass(int a, int b) {
this->a = a; this->b = b;
}
};
someclass functionname() {
return NULL;
}
someclass foo = functionname();
因为我没有该类的默认构造函数得到什么回来了?它是一个实际可用的对象吗?或者只是胡言乱语?为什么不能像这样检查?
if (foo == NULL) {
something
}
这不编译。告诉我们一件事,我们将能够告诉你代码中发生了什么。 – NPE
你的函数不会像编写的那样编译。只有当你返回一个指向你的类的指针,或者你有一个构造函数(没有标记为显式)并且只接受一个int(这样做会产生一个警告,因为它通常是错误的),你将只能返回NULL。 –