¿El compilador se queja de mis parámetros predeterminados?

Tengo problemas con este código, después de tomar esta clase del archivo main.cpp y dividirla en .h y .cpp, el compilador comenzó a quejarse de los parámetros predeterminados que estaba usando en un vacío.

/* PBASE.H */
    class pBase : public sf::Thread {
private:
    bool Running;

public:
    sf::Mutex Mutex;
    WORD OriginalColor;
    pBase(){
        Launch();
        Running = true;
        OriginalColor = 0x7;
    }
    void progressBar(int , int);
    bool key_pressed();
    void setColor( int );
    void setTitle( LPCWSTR );
    bool test_connection(){
        if(Running == false){
            return 0;
        }
        else{
            return 1;
        }
    return 0;
    }
    void Stop(){
        Running = false;
        if(Running ==, false) Wait();
    }
};
    /* PBASE.CPP */

    // ... other stuff above

    void pBase::setColor( int _color = -1){
        if(_color == -1){
             SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ),FOREGROUND_INTENSITY | OriginalColor);
             return;
        }
        SetConsoleTextAttribute( GetStdHandle( STD_OUTPUT_HANDLE ),FOREGROUND_INTENSITY | _color);

}

Y el error, tomado de VC2010

Error 4 error C2572: 'pBase :: setColor': redefinición del parámetro predeterminado: parámetro 1

Respuestas a la pregunta(2)

Su respuesta a la pregunta