我编写了一个Tag
将标签保存为字符串并允许对其进行操作的类。为了便于使用,我重载了operator=
for 类字符串类型。到目前为止我得到了什么:
Tag& Tag::operator=(const std::string& rhs)
{
setTag(rhs);
return *this;
}
Tag& Tag::operator=(const char* rhs)
{
setTag(rhs);
return *this;
}
(其中和setTag()
重载)。大部分用法都包含在此范围内:std::string
char
Tag tag1 = std::string("lala");
Tag tag2;
tag2 = std::string("lala2");
Tag tag3;
tag3 = "lala";
但是,最“基本”的一个不会计算:
Tag tag4 = "lala";
它给了我这个错误:
conversion from 'const char [5]' to non-scalar type 'Tag' requested
我怎样才能解决这个问题?我究竟做错了什么?