我继续发现这个错误,我不知道为什么。请不要有人解释为什么会出现这样的错误以及如何避免这样的错误。这是用g ++编译的
我的标题文件
#ifndef _STUDENT_H
#define _STUDENT_H
#include <string>
namespace name {
class StudentRecord
{
private:
std::string name;
std::string surname;
std::string studentNumber;
std::string classRecord;
int token;
public:
StudentRecord(std::string n , std::string s , std::string x , std::string c );
StudentRecord(void);
StudentRecord(const StudentRecord & rhs);
StudentRecord(StudentRecord && rhs );
~StudentRecord();
int avg(void);
int aquire_token(void);
void release_token(void);
};
}
#endif
* 我的cpp文件为* * / / em>
#include <cstdlib>
#include <string>
#include "studentrecords.h"
namespace name{
// Copy Constructor
// Error
StudentRecord(const StudentRecord & rhs)
{};
// Move Constructor
}
答案 0 :(得分:7)
缺少类名前缀:
// Copy Constructor
StudentRecord::StudentRecord(const StudentRecord & rhs)
{}
另请注意,构造函数实现后您不需要;
。
答案 1 :(得分:0)
#include <cstdlib>
#include <string>
#include "studentrecords.h"
namespace name{
// Copy Constructor
StudentRecord::StudentRecord(const StudentRecord & rhs)<----//Change here....
{};
// Move Constructor
}