Soy nuevo en C++, y tengo un problema con las definiciones de mi clase en un archivo de encabezado. El código para el archivo de cabecera (Student.h) es:La clase individual tiene un error de redefinición de clase
#include <string>
using namespace std;
class Student
{
// Data Members for a Student
string id;
string preferences[3];
int skill;
// Constructor
public:
Student(){}
public:
void SetID(string str)
{ this->id = str; }
public:
void SetSkill(int i)
{ this->skill = i; }
public:
void SetPreferences(int i, string s)
{
this->preferences[i] = s;
}
};
class StudentSchedule
{
public:
StudentSchedule(){}
};
El error del compilador dice que la línea 14 (clase Estudiante) es una redefinición de 'estudiante', y que la línea 15 ({- al aire libre llave después de la clase Estudiante) es la definición previa de 'Estudiante'. El mismo error en las primeras dos líneas consecutivas existe para la clase StudentSchedule.
No tengo ningún archivo .c, .cpp o .h en ninguna parte de mi compilación que defina cualquiera de las clases. No tengo idea de por qué estoy recibiendo este error.
Es agradable (sin duda más simple), pero eso no es estándar de C++ –
sí, que es el único inconveniente. Para mí, las ventajas superan esto. –