1

我有这个 Word.cc,它类似于用于操作单词的字符串类。我将运算符 << 重载为友元函数,但是当我不断收到此“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;
}
4

1 回答 1

5

最烦人的解析:

Word a();

应该

Word a;
于 2012-08-04T17:10:25.443 回答