pair mit array
-
Hi,
ist es möglich, ein pair zu erstellen, welches aus einem array (vorgegebener Länge), und einem bolschen Wert besteht? Mir will das ganze nicht so recht gelingen, wenn ich z.B.
pair< <int> array[20], bool > Testpairschreibe, sagt mir der Compiler:
falsche Anzahl der Templateargumente (1, sollte 2 sein)Geht das denn überhaupt? Für einen Vektor hatte ich es gesehen, wollte aber gerne etwas fester Länge haben, also meinetwegen auch ein Vektor, bei dem man die Länge angeben kann...
MfG, und vielen Dank schon einmal, Ozzy
-
std::pair<int[20], bool>sollte es tun. Aber du musst dir im Klaren darüber sein, dass man Arrays (und damit auch dieses Paar) nicht kopieren kann!
-
.filmor schrieb:
std::pair<int[20], bool>sollte es tun. Aber du musst dir im Klaren darüber sein, dass man Arrays (und damit auch dieses Paar) nicht kopieren kann!
Das sind zwei verschiedene Dinge. Arrays sind als solche nicht explizit kopierbar, allerdings sind der implizit generiert Kopierkonstruktor und -zuweisungsoperator einer Klasse (also auch von pair) sehr wohl in der Lage, Arraymember zu kopieren. Das kennen wir bereits von C her.
-
Wieder was gelernt

-
Jo,
vielen Dank, kopieren wollte ich den auch gar nicht... Jetzt klappt auch alles mit dem kompilieren!
Vielen Dank noch einmal, Ozzy