1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Erro c++

Discussão em 'Programação' iniciada por Alexander1989, 6 de Dezembro de 2008. (Respostas: 5; Visualizações: 441)

  1. Alexander1989

    Alexander1989 Power Member

    Já a alguém deu o erro de vector subscript out of range. Um erro runtime. Supostamente é porque estou a tentar aceder a uma posição do vector que nao existe. Mas vejam o codigo e digam-me o que acham!

    f
    Código:
    or(unsigned int k=0; k<=vector_ocorrencias.size();k++)
    	{
    		if((vector_ocorrencias[k].retornaDataOcorrencia())<=data_fim)
    		{
    			vector_auxiliar.push_back(vector_ocorrencias[k]);
    		}
    	}
     
  2. Baderous

    Baderous Banido

    Deve ser do k<=...size(). Experimenta retirar o =.
     
  3. Alexander1989

    Alexander1989 Power Member

    Realmente era disso ! Mas eu preciso que aquilo seja menos ou igual! e por ao contrario?
     
  4. Alexander1989

    Alexander1989 Power Member

    Ok esquece, ele realmente faz o menor ou igual sozinho ! nao sei como, mas funciona, muito obrigado ! : D
     
  5. Baderous

    Baderous Banido

    Os índices de um vector de dimensão N variam entre 0 e N-1. Ou seja, se tiveres um vector de 3 elementos (N=3), para os percorres através dessa variável auxiliar k, apenas percorres os índices desde k=0 até k=3-1=2, ou seja, de k=0 até k<N.
     
  6. IComeFromBehind

    IComeFromBehind Power Member

    Se quiseres prevenir mais erros desses talvez queiras investigar um pouco sobre a utilização de iteradores em C++.
     

Partilhar esta Página