Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

0xC0000005 przy zwalnianiu pamięci (delete)

Ostatnio zmodyfikowano 2017-12-03 12:05
Autor Wiadomość
sppmacd
Temat założony przez niniejszego użytkownika
0xC0000005 przy zwalnianiu pamięci (delete)
» 2017-12-03 11:46:47
Witam,
mam problem ze zwalnianiem pamięci operatorem delete. Podczas wykonywania funkcji longToString program się wyłącza (Aplikacja przestała działać...).

Używam biblioteki SFML, stąd ten sf::String

Kod


C/C++
sf::String longToString( long l ) // linia 28
{
    int * u = new int[ 32 ];
    long tmp = l;
   
    for( int i = 0; i < 32; i++ ) /// wydzielanie cyfr
    {
        u[ i ] = tmp % 10;
        tmp -= u[ i ];
        tmp /= 10;
    }
   
    sf::String str;
   
    for( int i = 0; i < 32; i++ ) /// przypisywanie od konca
    {
        str[ i ] = u[ 31 - i ] + 48;
    }
   
    if( u != NULL )
         delete[] u;
   
    return str;
}

Call stack


#0 0x77342029 ?? () (??:??)
#1 0x77371d8a ?? () (??:??)
#2 0x77416e07 ?? () (??:??)
#3 0x773b62d7 ?? () (??:??)
#4 0x77371d8a ?? () (??:??)
#5 0x765cb0f9 msvcrt!free() (C:\Windows\SysWOW64\msvcrt.dll:??)
#6 0x740000 ?? () (??:??)
#7 0x401812 longToString(l=0) (...\src\main.cpp:48)
#8 0x40201e main() (...\src\main.cpp:128)
P-167484
pekfos
» 2017-12-03 12:00:35
Wpisujesz wartości do pustego stringa.
P-167485
sppmacd
Temat założony przez niniejszego użytkownika
» 2017-12-03 12:05:51
Musiałem zainicjalizować zmienną (dodać wszystkie 32 znaki) i wtedy działa. Dziękuję!
P-167486
« 1 »
  Strona 1 z 1