qt schrieb:> Weiß jemand, woran das liegt?
Weil das da:
qt schrieb:> assigning to an array from an initializer list
in C++ halt nicht erlaubt ist. Man kann einem Array nichts zuweisen, und
einen Array-Initialisierer kann man nur - nunja - bei der
Initialisierung verwenden.
Rolf Magnus schrieb:> in C++ halt nicht erlaubt ist. Man kann einem Array nichts zuweisen, und> einen Array-Initialisierer kann man nur - nunja - bei der> Initialisierung verwenden.
Wie die meisten fehlenden Sprachfeatures kann man auch dieses mit
hässlichem Schreibaufwand nachrüsten:
1
#include<iostream>
2
#include<initializer_list>
3
#include<algorithm>
4
intfoo[5];
5
intmain(void)
6
{
7
autobaz={1,2,3,4,5};// ergibt eine std::initializer_list
Oder eine der zahlreichen Vektor-Klassen benutzen, die operator= für
std::initializer_list überladen. Diese []-Arrays sind überhaupt fast nie
die richtige Wahl.
Eine eigene Frage?
Dieser Thread ist über 12 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.