Недавно узнал, что в С++ существует такая клёвая штука, как функторы.
Решил потестить, да не очень вышло(
Код, если я все правильно понял, компилируется, но не линкуется. 
Выдаёт следующую ошибку:
main.obj:-1: error: LNK2019: ссылка на неразрешенный внешний символ "public: int __thiscall GeneratorOfBits::operator()(int)" (??RGeneratorOfBits@@QAEHH@Z) в функции _mainРугается, как вы могли заметить, на класс GeneratorOfBits. Теста ради создал ещё один, практически идентичный функтор, который, по идее, также должен был стать причиной подобной ошибки, но нет! С ним одним проект собирается без каких-либо проблем.
Люди добрые, помогите понять, в каком месте я ошибаюсь.
Если кому-то так будет удобнее, то вот сохранённый проект: 
https://dl.dropbox.com/u/102021951/untitled1.zipА вот его код:
main.cpp:#include <QCoreApplication>
#include <QDebug>
#include "functor1.h"
#include "generatorofbits.h"
int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    functor1 functor;
    qDebug()<<functor(1);
    GeneratorOfBits gen1;
    qDebug()<<gen1(1);
    return a.exec();
}
 functor1.h (этот класс работает корректно):#ifndef FUNCTOR1_H
#define FUNCTOR1_H
class functor1
{
public:
    bool            operator ()(int i);
};
#endif // FUNCTOR1_H
 functor1.cpp#include "functor1.h"
bool functor1::operator ()(int i)
{
    if(i==1)
    {
        return true;
    }
    return false;
}
 generatorofbits.h (а вот с этим функтором проблемы):#ifndef GENERATOROFBITS_H
#define GENERATOROFBITS_H
class GeneratorOfBits
{
public:
    int             operator ()( int lengthOfKeyCurrent );
};
#endif // GENERATOROFBITS_H
 generatorofbits.cpp#include "generatorofbits.h"
int GeneratorOfBits::operator ()(int lengthOfKeyCurrent )
{
    return 1;
}