max() im Turbo C++ Explorer



  • Hi,

    ich hatte bis jetzt immer den BCB6 benutzt, bis ich vor kurzem auf den Turbo C++ Explorer umgestiegen bin.

    Beim BCB6 gab es die Funktion int max (int value1, int value2); die den höheren Wert zurückgibt. Wenn ich aber versuche diese Funktion im Turbo C++ Explorer zu benutzen kommt beim Compilen die Fehlermeldung dass es diese Funktion nicht gäbe.

    Heißt die da vielleicht anders oder gibt es sie gar nicht?

    mfg
    Jakel



  • Hallo

    Die Funktion max liegt im Namespace std. Bist du sicher das du den richtigen Header <algorith> included hast und den Namespace ansprichst?

    bis bald
    akari



  • Ah das wars, danke.
    Das hatte ich vergessen da ich das im BCB6 nie machen musste.

    mfg
    Jakel



  • Hallo

    Der Header und der Namespace sind aber so standardkonform.

    bis bald
    akari



  • Ich nehme mal an dort war max zusätzlich noch als Makro enthalten.
    Der Header heißt übrigens <algorithm> 😉



  • Bei der Roguewave-Implementation der Standard C++ Bibliothek (STL) für den BCB 5/6 sind die Funktionen schon im Namensbereich 'std' definiert, sie wurden nur mittels 'using namespace std; ' bzw. 'using std::...' in den globalen Namensbereich eingebunden, sofern man nicht das Makro '__USING_STD_NAMES__' gesetzt hatte.



  • Enthielt der BCB6 nicht die STLport?



  • Ok, stimmt wohl, aber dennoch wird es höchstwahrscheinlich auch bei der Implementierung ein entsprechendes Makro geben.

    Ich habe (leider) nicht den BCB6, aber vllt. kann ja mal jemand in die Header-Datei <algorithm> schauen, ob dort in den letzten Zeilen ein "using ..." (innerhalb eines #ifdef-Blocks) steht.



  • Das hier ist die algorithm im BCB6

    #ifndef _STLP_ALGORITHM
    #define _STLP_ALGORITHM
    
    # ifndef _STLP_OUTERMOST_HEADER_ID
    #  define _STLP_OUTERMOST_HEADER_ID 0x1
    #  include <stl/_prolog.h>
    # endif
    
    # if ! defined (_STLP_USE_NAMESPACES)
    // remove() conflicts, <cstdio> should always go first
    #  include <cstdio>
    # endif
    
    # ifndef _STLP_INTERNAL_ALGO_H
    #  include <stl/_algo.h>
    # endif
    
    #if defined (_STLP_IMPORT_VENDOR_STD)
    # include _STLP_NATIVE_HEADER(algorithm)
    #endif /* _STLP_IMPORT_VENDOR_STD */
    
    # if (_STLP_OUTERMOST_HEADER_ID == 0x1 )
    #  include <stl/_epilog.h>
    #  undef _STLP_OUTERMOST_HEADER_ID
    # endif
    
    #endif /* _STLP_ALGORITHM */
    

Anmelden zum Antworten