c,指针错误?Word a()将始终评估为true

tea*_*ter 1 c++

我有这个Word.cc就像操作单词的字符串类.我重载了operator <<作为友元函数,但是当我不断得到这个"Word的地址a()将评估为真".你能否评论一下我可能出错的地方?我在main中使用的代码如下.

int main()
{
    Word a();
    cout<<a;
    return 0;
}

Word::Word()
{
    init("");
}

void Word::init(char *c,char *stoppers)
{
    char *temp="\0";

    if(c==NULL)
        c=temp;

    size=strlen(c)==0 ? DEFAULT_SIZE :(strlen(c)+1+DEFAULT_SIZE)/DEFAULT_SIZE*DEFAULT_SIZE;
    wd=new char[size+1];
    delimiters=new char[strlen(stoppers)+1];

    strcpy(wd,c);
    strcpy(delimiters,stoppers);
    count=strlen(wd);
}
ostream & operator<<(ostream &out,const Word &b)
{
    out<<b.wd;   
    return out;
}
Run Code Online (Sandbox Code Playgroud)