Ir ao conteúdo

matriz e "access violation" em C++


Zedrr

Posts recomendados

Postado

salve salve,

o problema é o seguinte: eu aloco matriz dinamicamente e na segunda vez q eu vou aloca da pau, da "Access Violation"!!! na primeira vez aloca de boa, ai na segunda é o pau, tanto no windows quanto no linux.

agradeço desde já qualquer ajuda é muito bem vinda..

valeu.

Postado

O codigo é mais ou menos assim,

class ClasseX

{

unsigned **mat;

ClasseX(unsigned t)

{

*mat = new unsigned[10];

for(int i=0; i < 10; i++)

mat = new unsigned[t];

}

}

como eu havia dito, eu consigo alocar na primeira vez, pois eu preencho a primeira matriz tranquilamente, depois disso quando vou instanciar a ClasseX novamente (obs:: eu tambem aloco dinamicamente a classe) da pau, eu compilei no borland c++ 5.01 e no g++, no windows. e g++ no linux.

bom é isso aí, acho q não esqueci d nada, valeu aí cara...

  • Membro VIP
Postado


*mat = new unsigned[10];

Você não pode setar o valor de *mat antes de setar o valor de mat, troque essa linha por:


mat = new unsigned*[10];

Que deve funcionar.

Postado

deu certo velho, valeu.

mas porque q não da erro na geração do codigo e porque q a primeira matriz aloca d boa?

abraços..

  • Membro VIP
Postado

O compilador C não é capaz de identificar esse tipo de erro,

E o fato da primeira vez não dar erro foi puro acaso, o valor inicial da variavel mat (indefinido por padrão, quer dizer que pode apontar para qualquer lugar...) por acaso apontava para um local válido (válido, mas não sei onde...), se tenter compilar esse código com compiladores diferentes pode dar erro.

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Mostrar mais  

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

Mostrar mais  
×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!