Não consigo compilar o construtor da classe Livro, por que? ,se eu tiro o construtor o programa roda blz, alguém me da uma luz?
 
	 
	#include <iostream>
#include <string>
using namespace std;
	class Pessoa{
    public:
        Pessoa(string n, int i,string s){
            setNome(n);
            setIdade(i);
            setSexo(s);
        }
        void FazerNiver(){
            setIdade(getIdade()+1);
        }
        void setIdade(int i){
            idade=i;
        }
        void setNome(string n){
            nome=n;
        }
        void setSexo(string s){
            sexo=s;
        }
        int getIdade(){
            return idade;
        }
        string getNome(){
            return nome;
        }
        string getSexo(){
            return sexo;
        }
    private:
        string nome, sexo;
        int idade;
};
	class Livro:public Pessoa{
private:
        string nome, autor;
        int totalPag, pagAtual;
        bool aberto;
        Pessoa leitor;
public:
        Livro(string n,int t,string a,Pessoa l){
            totalPag=t;
            nome=n;
            autor=a;
            leitor=l;
        }
        void Detalhe(){
	        }
        void Abrir(){
            setAberto(true);
        }
        void Fechar(){
            setAberto(false);
        }
        void Folhear(int p){
            if(p>getTotalPag()){
                setPagAtual(0);
            }else{
                setPagAtual(p);
            }
        }
        void Avancarpag(){
            setPagAtual(getPagAtual()+1);
        }
        void VoltarPag(){
            pagAtual--;
        }
	        void setNome(string n){
            nome=n;
        }
        void setAutor(string a){
            autor=a;
        }
        void setTotalPag(int p){
            totalPag=p;
        }
        void setPagAtual(int a){
            pagAtual=a;
        }
        void setAberto(bool a){
            aberto=a;
        }
        string getNome(){
            return nome;
        }
        string getAutor(){
        return autor;
        }
        int getTotalPag(){
            return totalPag;
        }
        int getPagAtual(){
            return pagAtual;
        }
        bool getAberto(){
            return aberto;
        }
	};
	int main() {
    Pessoa *p1=new Pessoa("willy",31,"M");
	
    
    return 0;
}