マイC++
プログラムは次のエラーが発生している:注:候補者:MyClassの:私はそれを保存するときのMyClass(のconst MyClassの&)エラー
hw.cpp|10 col 7 error| note: candidate: Category::Category(const Category&) [cpp/gcc]
hw.cpp|10 col 7 error| note: candidate expects 1 argument, 0 provided [cpp/gcc]
hw.cpp|14 col 9 error| note: candidate: Category::Category(std::__cxx11::string) [cpp/gcc]
hw.cpp|14 col 9 error| note: candidate expects 1 argument, 0 provided [cpp/gcc]
hw.cpp|36 col 9 error| no matching function for call to ‘Category::Category()’ [cpp/gcc]
hw.cpp|39 col 51 error| cannot call constructor ‘Category::Category’ directly [-fpermissive] [cpp/gcc]
hw.cpp|39 col 51 error| note: for a function-style cast, remove the redundant ‘::Category’ [cpp/gcc]
私のコードは次のとおりです。
私の中に間違って何class Category {
private:
string name;
public:
Category(string _name)
{
name = _name;
}
string getCategory()
{
return name;
}
void setCategory(string _name)
{
name = _name;
}
};
class Book {
private:
string name;
string author;
Category category;
public:
Book(string _name, string _author, string _category)
{
name = _name;
author = _author;
category = Category::Category(_category);
}
Category getCategory()
{
return category;
}
void setCategory(string _name)
{
category.setCategory(_name);
}
string getName()
{
return name;
}
void setName(string _name)
{
name = _name;
}
string getAuthor()
{
return author;
}
void setAuthor(string _author)
{
author = _author;
}
};
コード?どうすれば修正できますか?
カテゴリ::カテゴリ(_category); ' - >カテゴリ(_category);'コンストラクタは静的関数ではありません。それは*文字通り*あなたに言った: '冗長な削除 ':: Category''あなたのエラーメッセージを読んでください。 – Borgleader
Bodyではなく、 'Book'コンストラクタ初期化子リストで' Category'メンバを初期化する必要があります。 –