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
どうすればこれを修正できますか?私は何が間違っているのですか?