Rückgabe von new()



  • er meint er kann mit den "nothrow" niox anfangen.

    Hast du den Header <new> inkludiert?



  • Ja hab ich, er meint aber trotzdem

    Undefined Symbol 'nothrow'



  • Hallo,
    wie sieht's mit dem Namespace std; aus? Falls du keine using-direktive/using-deklaration drin hast, heißt das Ding std::nothrow.

    Oder mal anders gefragt: Lässt sich das folgende Minimalprogramm übersetzen?

    #include <new>
    int main()
    {
       int* p = new (std::nothrow) int(42);
    }
    


  • Nee, leider net. Er meldet folgendes: (4 Fehler) alle in der selben Zeile

    Qualifier 'std' is not a class or namespace name

    ) expected

    Type name expected

    Could not find a match for 'operator new(unsigned int,undefined)'

    DAs sind genau die, die ich vorher auch schon zu lesen bekam. Ich hab den Verdacht ich muss da was einstellen in den Optionen des Compilers.

    NiP

    [ Dieser Beitrag wurde am 24.04.2003 um 10:06 Uhr von Nobody_Is_Perfect editiert. ]



  • [quote]
    Qualifier 'std' is not a class or namespace name
    [/quoute]
    ...

    Das würde soviel heißen, als hätte deine Headerdatei noch gar keinen std-Namespace enthalten?

    Sollte sich auch dieses Programm nicht übersetzen lassen, würde ich über die Anschaffung eines neueren Compilers DRINGENDST nachdenken:
    [codet type="c++"]
    #include <iostream>

    int main ()
    {
    std::cout << "Hello World!";

    return ( 0 );
    }
    [/code]

    Sollte sich nur das Programm von Hume Sikkins nicht übersetzen lassen, kann es auch sein, dass die Std-Libary deines Compilers nothrow nicht unterstützt.

    Welchen Compiler verwendest du denn?

    MfG SideWinder



  • Borland 5.01

    ist das nicht der uralt compiler?

    nimm dir doch einen neueren!
    zB einen von http://www.c-plusplus.net/compiler.htm



  • Was bitte mit meinem Posting los?

    MfG SideWinder



  • Hi ich bins wieder!

    Danke für Eure Tips, aber ich bin auf 3 Compiler beschränkt (wegen speziellen Bibliotheken).

    VC 1.52
    BC 5.02
    BC 3.0

    Ich hab jetzt mal den VC 1.52 versucht, aber der blödsinnige Editor cuttet mir die Zeilen nach 251 Buchstaben, kann ich da was einstellen, oder muss ich in einem anderen Editor arbeiten und nur damit Compilieren? Wär ja auch nicht das große Problem.

    NiP



  • VC 1.52? Vergiss es, zu diesen Zeiten kannst du froh sein wenn es <iostream.h> gibt ;). Aber von nothrow hat der sicherlich noch nie etwas gehört.

    MfG SideWinder



  • AFAIK werfen die alten STLs (in denen es auch noch keinen Namespace std gibt) keine exeption wenn new keinen Speicher allokiert, sondern geben einfach NULL zurück....


Anmelden zum Antworten