Problem mit Printfunktion <template>
-
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
endls?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 dankeweil 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:
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
typenamezu 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.
-
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 '\nWas hat das mit CodeBlocks zu tun?
-
...
-
out schrieb:
Was hat das mit CodeBlocks zu tun?
Das hat nix mit CodeBlocks zu tun, sondern mit den Autovervollständigungsfeatures verschiedenster IDEs, darunter eben auch CodeBlocks.
Wenn ich also ein " oder ' eingebe (und ( und {), wird automatisch hinter den Cursor das zweite gesetzt.Swordfish schrieb:
Weiß auch ned, worauf er schon wieder is'. Aber in ein paar Stund' sollt der Spuk wieder vorbei sein ...

