Vi scrivo il codice delle varie classei
codice:#include <Windows.h> #include <vector> #include <crtdbg.h> #include "classe_a.h" using namespace std; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nShowCmd ) { _CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); PtrA->Init(); int h; h=0; return h; }
Filecodice://File classe_a.h class ClasseA { public: ClasseA(); virtual void Init(); }; extern ClasseA* PtrA; //File classe_a.cpp #include "classe_a.h" ClasseA::ClasseA() { } void ClasseA::Init() { int fkf=0; }
codice://File classe_b.h #include <Windows.h> #include "classe_a.h" class Bb: public ClasseA { public: Bb(); void Init(); }; //File classe_b.cpp #include "classe_b.h" #include <vector> using namespace std; ClasseA* PtrA = new Bb(); Bb::Bb():ClasseA() { } void Bb::Init() { vector<int> ss; ss.push_back(43); ss.clear(); }
Questo codice genera memory leak quando faccio ss.push_back(43);, perchè? i vector di int come possono generare memory leakVVoVe: ?
Aiuto![]()

VVoVe: ?
Rispondi quotando