mercredi 22 juin 2022

Error LNK2019 when i try pass a vector into a constructor [duplicate]

I new in c++ and programming and programming in general. I'm trying to do my own Yahtzee game to train. But I can't understand why this error is happening...

My code:

#include <iostream>
#include "Jogador.h"
#include "Partida.h"

int main()
{
    int partidas = 1;
    Jogador j1("Mateus");
    std::cout << "Nome do jogador 1: " << j1.getNome() << std::endl;
    std::vector<Jogador> jogadores{};
    jogadores.push_back(j1);

    Partida partida(jogadores,partidas);

    return 0;
}

Class Partida.cpp

#include "Partida.h"
#include <vector>

Partida::Partida(std::vector<Jogador> jogadores, int partidas = 0)  {
    this->partidas = partidas;

    for (auto& jogador : jogadores)
    {
        this->jogadores.pop_back(jogador);
    }
    
};

Class Jogador.h

#pragma once
#include <iostream>
#include <string>
#include <vector>

class Jogador
{
    std::string nome;
    int pontuacao {0};
    int chances {3};
    std::vector<int> dados;
    std::vector<int> cartela {0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

public:
    Jogador(std::string nome = " ") : nome(nome) {};
     
    ......
};

Erros:

Gravidade   Código  Projeto Descrição   Arquivo Linha   Estado de Supressão
Erro    LNK2019 Yahtzee símbolo externo não resolvido, "public: __cdecl Partida::Partida(class std::vector<class Jogador,class std::allocator<class Jogador> > &,int)" (??0Partida@@QEAA@AEAV?$vector@VJogador@@V?$allocator@VJogador@@@std@@@std@@H@Z), referenciado na função main    ..\repos\Yahtzee\Yahtzee\Main.obj   1   


Gravidade   Código  Projeto Descrição   Arquivo Linha   Estado de Supressão
Erro    LNK1120 Yahtzee 1 externo não resolvidos    ..\repos\Yahtzee\x64\Debug\Yahtzee.exe  1   

Could someone help me and explain to me why this error is happening??

Thanks!

Aucun commentaire:

Enregistrer un commentaire