21. april 2003 - 20:47
Der er
9 kommentarer og 1 løsning
Error
Jeg får ingen errors når jeg compiler og linker følgende kode men når jeg kører .exe filen #include <iostream.h> #include <stdlib.h> #include <new.h> void slut_program(void) { cout<<"Lager-allokering mislykkedes\n"; exit(1); } void main(void) { char *pointer; set_new_handler(slut_program);//Ingen fejl hvis jeg fjerne denne linie do{ pointer=new char[1000]; cout<<"10000 byte er allokeret\n"; }while (1); } det er set_new_handler det er galt med men hvad gør jeg forkert ps. bruger MVC
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
21. april 2003 - 21:39
#1
set_new_handler(slut_program()); ikke noget med en parentes der er glemt el. lignende?
21. april 2003 - 21:46
#2
hvis jeg : "set_new_handler(slut_program());" for jeg en error når jeg compiler
21. april 2003 - 22:17
#3
Prøv at deklarere void slut_program(void) som void __cdecl slut_program(void) i stedet #include <new> i stedet for <new.h> Du bruger lidt et mix af denne funktion fra både crt og STL...
22. april 2003 - 10:20
#4
Følgende virker fint hos mig... #include <iostream> #include <new> using namespace std; void slut_program(void) { cout<<"Lager-allokering mislykkedes\n"; exit(1); } void main(void) { char *pointer; set_new_handler(slut_program);//Ingen fejl hvis jeg fjerne denne linie do{ pointer=new char[5000000]; cout<<"5000000 byte er allokeret\n"; }while (1); }
22. april 2003 - 11:37
#5
Yeps, men du har så også ændret #include <new.h> til #include <new>
22. april 2003 - 11:42
#6
Ja, gør det noget? .h versionerne er jo forældede..!
22. april 2003 - 11:47
#7
forældede vil jeg nu ikke kalde det, men det gør en forskel, ja... Det gør at det virker, hvis du bruger new.h skal der laves lidt om i syntaksen for at det virker ;)
22. april 2003 - 12:01
#8
Okay, "deprecated"
22. april 2003 - 12:07
#9
Virker det muligvis med denne dekleration? void __cdecl slut_program()
22. april 2003 - 14:48
#10
ok tak 4 hjælpen
Kurser inden for grundlæggende programmering