我已超载>>许多类的运算符,但在这种情况下有所不同。我通常不能在运算符的函数中设置类成员。我需要使用char * -argument构造函数来设置对象,但是当我这样做时,程序停止工作。您可以看到以下功能:
istream & operator >>(istream &stream ,Big& b)
{
char *str;
stream>>str;
b=Big(str);
return stream;
}
答案 0 :(得分:2)
您尝试将输入读入未初始化的指针。请改用std::string
。
答案 1 :(得分:1)
char *str;
stream>>str;
调用未定义的行为,因为您尚未为str
分配内存。分配内存,或使用std::string
代替(首选)。
答案 2 :(得分:1)
char *str
无法保存stream
的流式传输结果(除非您正在阅读指针,但我怀疑这是您的意图)。您可能需要std::string str
。