Tenho um problema com erro de memória no meu código que era pra ser bem simples
O erro está quando adiciono um novo nó a minha lista encadeada aqui está a struct
struct Disciplina{
int codigo;
ListaAluno alunos;
Disciplina(){
codigo=0;
}
};
struct ListaDisciplina{
Disciplina* disciplina;
NoDisciplina *primeiro;
NoDisciplina *ultimo;
int tamanho;
ListaDisciplina(){
tamanho=0;
primeiro=ultimo=NULL;
}
};
E pra adicionar nela uso essa função
ListaDisciplina* adicionarDisciplina(ListaDisciplina* desc, int codigo){
NoDisciplina* newDisc = new NoDisciplina();
newDisc->disciplina->codigo = codigo;
if(desc->tamanho==0){
desc->tamanho++;
desc->ultimo = newDisc;
desc->primeiro = newDisc;
return desc;
}
newDisc->ant = desc->ultimo;
desc->ultimo->prox=newDisc;
desc->ultimo = newDisc;
desc->tamanho++;
desc->disciplina->codigo++;
return desc;
}
Por exemplo se adiciona o codigo “3” à disciplina e preciso imprimir eles, os valores que aparece é um valor aleatório da memória tipo “3xxxxxx”.
Alguém sabe o porquê de está mostrando um valor da memoria?