c++构造函数出问题了。。。

Set::Set(int x)
{
size=x;
}
这个构造函数可以直接Set myset(100);这样创建对象,而且能够myset可以使用Set类中的成员函数,也可以return myset;
但是为什么下面这般写的话不能够用那些成员函数呢?
Set::Set()
{
L=(Linklist)malloc(sizeof(LNode));
if(!L)
exit(OVERFLOW);
L->next=NULL;
}
例如我直接Set myset(),然后myset好像就不是一个Set对象了,也不能够用那些函数,为什么,求解释的详细一点

L被初始化了,里面的所有字段都是随机值,L->next不一定指向一个有效的地址。

你那写的是函数声明,返回值是Set对象,函数名是myset ,该函数没有参数