undefined reference to constructor

I have 3 different classes, I get an error of undefined reference to constructor to my rotor class, but not for the other two. I really can't see how the code is different for the rotors class. I have looked through all the forums related to this topic, but still can't seem to find a solution.

Here is where the error comes up:
void ControlWindow::ControlEnigma(string str){
//creating an instance of each class
PlugBoard plugboard;
Rotors rotor;
Reflector reflector;
Work work;
vector<int> initial, convector;
vector<int> rotor1, rotor2, rotor3, con;
rotor1.reserve(26);
rotor2.reserve(26);
rotor3.reserve(26);
rotor1 = {4,10,12,5,11,6,3,16,21,25,13,19,14,22,24,7,23,20,18,15,0,8,1,17,2,9};
rotor2 = {0,9,3,10,18,8,17,20,23,1,11,7,22,19,12,2,16,6,25,13,15,24,5,21,14,4};
rotor3 = {1,3,5,7,9,11,2,15,17,19,23,21,25,13,24,4,8,22,6,0,10,12,20,18,16,14};

for (int i = 0; i < str.length(); i++){
initial.push_back(i);
}
work.ChartoInt();
int it = str.length() - 1;
plugboard.changer(work);
rotor.RotateForward(rotor1, rotor2, rotor3, it, work);
reflector.Reflect(it, work);
rotor.RotateBackward(rotor3, rotor2, rotor1,it,work);
std::rotate(rotor1.begin(), rotor1.begin()+1, rotor1.end());
// ptrdiff_t position1 = distance(rotor3.begin(), find(rotor3.begin(), rotor3.end(), work.Getcon(it)));
//ptrdiff_t position2 = distance(rotor3.begin(), find(rotor3.begin(), rotor3.end(), work.Getcon(it)));
//int d = position1 - position2;
//ui->spinBoxr1->setValue(d);
if((it % 26 == 0) && (it != 0)){
std::rotate(rotor2.begin(), rotor2.begin()+1, rotor2.end());
}
if((it%676 == 0) && (it != 0)){
std::rotate(rotor3.begin(), rotor3.begin()+1, rotor3.end());
}
work.InttoChar();
string a = work.Getstr();
}

Here is my Rotors.cpp file:
#include "Rotors.h"
inline Rotors::Rotors()
: Work(){}
inline Rotors::Rotors(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int it, Work work)
: Work(){}
inline Rotors::~Rotors(){
}
inline void Rotors::RotateForward(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int i, Work work){
work.SetConForFRotor(rotor1, i);
work.SetConForFRotor(rotor2, i);
work.SetConForFRotor(rotor3, i);

}
inline void Rotors::RotateBackward(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int i, Work work){
work.SetConForBRotor(rotor3, i);
work.SetConForBRotor(rotor2, i);
work.SetConForBRotor(rotor1, i);

}

Here is my header file:
#ifndef ROTORS_H_
#define ROTORS_H_

#include "Work.h"
class Rotors:public Work{
public:
Rotors();
Rotors(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int it, Work work);
virtual ~ Rotors();
void RotateForward(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int it, Work work);
void RotateBackward(vector<int> rotor1, vector<int> rotor2, vector<int> rotor3, int it, Work work);


int GetNcomponents() {return 1;}
};

#endif // ROTORS_H_


And I get the errors:
U:\C++\exercises\NewEnigmaMachine\Controlwindow.cpp:464: error: undefined reference to `Rotors::Rotors()'

U:\C++\exercises\NewEnigmaMachine\Controlwindow.cpp:482: error: undefined reference to `Rotors::RotateForward(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, int, Work)'

U:\C++\exercises\NewEnigmaMachine\Controlwindow.cpp:484: error: undefined reference to `Rotors::RotateBackward(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, int, Work)'

collect2.exe:-1: error: error: ld returned 1 exit status

Many thanks in advance for the help.
Remove the inline keyword.
Topic archived. No new replies allowed.