Problem mit Printfunktion <template>



  • ...


  • Mod

    copy(first, last, ostream_iterator <typename iterator_traits<TItor>::value_type>(stream, " "));
    


  • Swordfish schrieb:

    [cpp]#include <list>
    #include <string>
    #include <iostream>

    using namespace std;

    template<typename TItor>
    void Print(TItor first, TItor last, string const& str, ostream& stream=cout)
    {
    stream << endl << str << endl;

    copy(first, last, ostream_iterator <iterator_traits<TItor>::value_type>(stream, " "));

    }

    Was sollen die endl s?

    bingo template funktion muss komplett im header stehen. zwar musste ich jetzt den ausgabeoperator überladen aber jetzt geht es wenigstens 🙂 vielen dank
    das mit dem namespace muss ich noch ändern danke

    weil die ausgabe so sein muss 😃 :

    unsorted values:
    
    6-0 10-1 9-2 0-3 7-4 10-5 7-6 7-7 1-8 5-9 5-10 7-11 6-12 7-13 0-14
    8-15 8-16 9-1 7 1-18 9-19 9-20 9-21 0-22 10-23 7-24 8-25 6-26 2-27
    7-28 7-29 6-30 1-31 8-32 2-33 4-34 4-35 1-36 6-37 1-38 8-39
    
    ascend stable sorted values:
    
    0-3 0-14 0-22 1-8 1-18 1-31 1-36 1-38 2-27 2-33 4-34 4-35 5-9 5-10
    6-0 6-12 6-26 6-30 6-37 7-4 7-6 7-7 7-11 7-13 7-24 7-28 7-29 8-15
    8-16 8-25 8-32 8-39 9-2 9-1 7 9-19 9-20 9-21 10-1 10-5 10-23
    
    ascend sorted values:
    
    0-3 0-14 0-22 1-8 1-18 1-31 1-36 1-38 2-27 2-33 4-34 4-35 5-9 5-10
    6-0 6-26 6-12 6-30 6-37 7-28 7-4 7-6 7-7 7-11 7-13 7-24 7-29 8-15
    8-16 8-39 8-32 8-25 9-21 9-2 9-19 9-17 9-20 10-5 10-1 10-23
    


  • ...



  • camper hat Recht. Da muss [temp.res]/2 berücksichtigt werden.

    Swordfish schrieb:

    @camper: 😮

    Jo, aber des wars net.

    Die Fehlermeldung ist eine ganz gewöhnliche Linker-Beschwerde darüber, dass keine Definition für eine Funktion gefunden wurde.
    (Nur so lang, da die komplette template-id + der gemangelte Name hingeschrieben wurde).

    Wäre da ein typename zu wenig, wäre die Fehlermeldung doch direkter?



  • @camper wieso kann ma den typename auch innerhalb der stl-algo haben? was bewirkt das

    \n haben wir soweit ich weiß nie benutzt, daher ist es bei uns endl zur gewohnheit gerworden 😃



  • ACnut schrieb:

    @camper wieso kann ma den typename auch innerhalb der stl-algo haben? was bewirkt das

    Ist der Name nicht selbsterklärend? Das sagt, dass es sich bei nachfolgendem um einen Typen handelt, und nicht um einen Wert.

    ACnut schrieb:

    \n haben wir soweit ich weiß nie benutzt, daher ist es bei uns endl zur gewohnheit gerworden 😃

    Shit happens. Gewöhn es dir ab und sag es auch deinen Kommilitonen. 🙂



  • ...



  • ja ich werds mit \n versuchen 😉



  • ACnut schrieb:

    ja ich werds mit \n versuchen 😉

    und wenn dir \ oder ' zu blöd zum tippen ist, dann schreib dir einen Manipulator:

    ostream& newl( ostream& out )
    {
        out << '\n';
    }
    


  • out schrieb:

    ACnut schrieb:

    ja ich werds mit \n versuchen 😉

    und wenn dir \ oder ' zu blöd zum tippen ist, dann schreib dir einen Manipulator:

    ostream& newl( ostream& out )
    {
        out << '\n';
    }
    

    Ist das dein Ernst?



  • Sone schrieb:

    out schrieb:

    ACnut schrieb:

    ja ich werds mit \n versuchen 😉

    und wenn dir \ oder ' zu blöd zum tippen ist, dann schreib dir einen Manipulator:

    ostream& newl( ostream& out )
    {
        out << '\n';
    }
    

    Ist das dein Ernst?

    Ja. Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.


  • Mod

    const char nl = '\n' ?

    out schrieb:

    Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.

    Das ist natürlich die "richtige" Lösung, weil man dann die Sprache benutzt, wie sie gedacht ist.



  • SeppJ schrieb:

    const char nl = '\n' ?

    Hmm, zu kompliziert gedacht. Touche 🙂

    SeppJ schrieb:

    out schrieb:

    Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.

    Das ist natürlich die "richtige" Lösung, weil man dann die Sprache benutzt, wie sie gedacht ist.

    Jup.



  • out schrieb:

    Sone schrieb:

    out schrieb:

    ACnut schrieb:

    ja ich werds mit \n versuchen 😉

    und wenn dir \ oder ' zu blöd zum tippen ist, dann schreib dir einen Manipulator:

    ostream& newl( ostream& out )
    {
        out << '\n';
    }
    

    Ist das dein Ernst?

    Ja. Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.

    Nein, ich meinte, genau wegen dem was SeppJ meinte, du kannst auch einfach eine Konstante nehmen. 🙂



  • Sone schrieb:

    Nein, ich meinte, genau wegen dem was SeppJ meinte, du kannst auch einfach eine Konstante nehmen. 🙂

    Ja, hast Recht. 😃 *kopf meets tischkante*



  • ...



  • Swordfish schrieb:

    out schrieb:

    SeppJ schrieb:

    out schrieb:

    Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.

    Das ist natürlich die "richtige" Lösung, weil man dann die Sprache benutzt, wie sie gedacht ist.

    Jup.

    mhm. Meine Finger wissen sehr genau, wo benötigte Tasten(-kombinationen) sind. Auch auf Tastaturen mit deutschem Layout ... alles Gewohnheitssache.

    Isso! Dank CodeBlocks drücke ich eh nur drei Tasten, und die sind mir im Blut 😃 '\n '\n '\n



  • Sone schrieb:

    Swordfish schrieb:

    out schrieb:

    SeppJ schrieb:

    out schrieb:

    Manche nehmen extra amerikanische Tastatur weil es ihnen zu blöd ist.

    Das ist natürlich die "richtige" Lösung, weil man dann die Sprache benutzt, wie sie gedacht ist.

    Jup.

    mhm. Meine Finger wissen sehr genau, wo benötigte Tasten(-kombinationen) sind. Auch auf Tastaturen mit deutschem Layout ... alles Gewohnheitssache.

    Isso! Dank CodeBlocks drücke ich eh nur drei Tasten, und die sind mir im Blut 😃 '\n '\n '\n

    Was hat das mit CodeBlocks zu tun?



  • ...


Anmelden zum Antworten