Frage : Zugriffsfehler-Leseposition auf vector.push_back

Ich lese etwas Werte von einer xml Akte, die ich dann in einen Vektor einsetze. Jedoch auf bestimmten Werten erhalte ich diese Störung:
First-chance Ausnahme an 0x7568df2b in app.exe: 0xC0000005: Zugriffsfehler-Leseposition 0x6e617274


It geschieht immer auf den gleichen Werten, aber die ist kein sinnvoll, da es nichts gibt, das zwischen denen wirklich unterschiedlich ist, die bearbeiten und denen, die nicht.
I eine Kategorie AnimationNode haben, die ein vector hat, das einfach eine Kategorie ist, die einige Werte hält (die immer initialisiert werden). Ich benenne eine Funktion, um die Werte zu addieren, in denen ich das push_back tue und das ist, wo die Ausnahme geschieht. Alle Werte tragen mein Funktion correctly.


1 ein:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
#pragma einmal
#include 
using namespace-Geschlechtskrankheit;
#include „TimedRotation.h“

typedef vector:: const_iterator TRIT;

Kategorie AnimationNode
{
Öffentlichkeit:

	AnimationNode (tstring Name);
	virtuelles ~AnimationNode (Lücke);

	leeres AddTransformAt (int-Zeit, Umdrehung Float4, Gelenk Float3);


	/**
	* Der Anfang der Umdrehungen.
	*
	TRIT TransformBegin () {Rückholm_Rotations.begin ();}
	/**
	* Das Ende der Umdrehungen.
	*
	TRIT TransformEnd () {Rückholm_Rotations.end ();}

privat:

	tstring m_Name;

	vector m_Rotations;

};


leeres AnimationNode:: AddTransformAt (int-Zeit, Umdrehung Float4, Gelenk Float3)
{
	TimedRotation tr (Zeit, Umdrehung, Gelenk, Float3 (1.1.1));
	m_Rotations.push_back (tr);				// <-- STÖRUNG HIER
	Geschlechtskrankheit:: Art (m_Rotations.begin (), m_Rotations.end (), TimedRotationSorter ());
}


When überprüfe ich, wo die Störung wirklich es ist hier in xmemory auftritt:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
_STD_BEGIN
		//-SCHABLONEN-FUNKTION _Allocate
template Inline
	_Ty _FARQ *_Allocate (_SIZT _Count, _Ty _FARQ *)
	{//-Überprüfung auf Zahlüberlauf
	wenn (_Count <= 0)
		_Count = 0;
	sonst, wenn (((_SIZT) (- 1)/_Count) < sizeof (_Ty))
		_THROW_NCEE (Geschlechtskrankheit:: bad_alloc, NULL);

		// teilen Lagerung für die _Count Elemente der Art _Ty zu
	Rückkehr ((_Ty _FARQ *):: Operator neu (_Count * sizeof (_Ty)));      // <-- STÖRUNG HIER
	}

With _Count, das den Wert 52442120



I hat, brachte die xml Akte z.B. an las die Werte der Arbeiten des Dorns Bip01, die Bip01 R der Schenkelursache das exception.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
 
		
	
	
		
	



I nicht durchaus erhalten dieses, warum tun etwas Werte verursachen dieses, während andere nicht tun?
Anyone, wer etwas Licht auf diesem verschütten kann?


Thanks im Voraus.
Attachments:
das xml file

Antwort : Zugriffsfehler-Leseposition auf vector.push_back

, es gerade sicherzustellen ist nicht eine Speichergrößeausgabe: speichern Sie wirklich Millionen Eintragungen im m_Rotations Vektor?

Wenn nicht, ist ein guter Ort, zum nach Gedächtnis, korruption zu suchen dann zu beginnen, das Gedächtnis und um im Vektor.

Z.B. das m_Name Datenmitglied und die TimedRotation Kategorie.
Weitere Lösungen  
 
programming4us programming4us