【发布时间】:2021-12-12 05:10:57
【问题描述】:
我正在为 C++ 类做作业,但在使用带有向量的推回时出现错误。老实说,我找不到任何关于为什么这不起作用并给我“没有重载函数实例”错误的信息
class StudentData {
class StudyModule {
private:
const int studyModuleCode;
const std::string studyModuleName;
public:
StudyModule();
StudyModule(const StudyModule& copy);
~StudyModule();
};
private:
const int studentNumber;
std::string studentName;
std::vector<StudyModule*> modules;
public:
StudentData();
StudentData(const StudentData& copy);
~StudentData();
void addModules(const StudyModule& module);
int howManyModules();
};
void StudentData::addModules(const StudyModule& module)
{
this->modules.push_back(&module);
}
【问题讨论】:
-
小测验:向量中的那些指针——它们是指向常量还是非常量对象的指针,你是否将一个常量或非常量对象的引用传递给了这个函数?跨度>
-
小问题:您的函数名为
addModules()(强调多个),但您一次只能添加一个模块。 -
StudyModule中 0/3/5 的错误规则。它应该是 0 规则,但声明了 2 个(非)必需函数。const私人成员毫无意义。
标签: c++ vector constants overloading push-back