initialisierer liste
-
hallo liebe forengemeinde,
ich hab leider ein kleines problem mit structs und arrays. Und zwar habe ich ein template struct welche 3 arrays hält, und dieses template ist in einer anderen template struct.MEin problem, ich will letzteres ganz einfach über eine initialisierer liste initialisieren oder wenigstens nach der kontruktion des typs mit standardwerten ihn mit einer initialisierer liste komplett neue werte zuweisen. ich bekomme es leider nur nicht hin und ich denke mal für euch ist dies ein klax, eher ein witz.folgendes konstrukt sei gegeben:
template<typename T> struct planks{ T alu[5]; T steel[5]; T wodden[5]; planks()=default; }; template<class T> struct components{ planks<T> pchoice; T guard[5]; T t_board[5]; T v_frame[3]; T b_transom; T dia; T e_guard; T ladder; T b_jack; components():pchoice(),guard({0}),t_board({0}),v_frame({0}), b_transom(0),dia(0),e_guard(0),ladder(0),b_jack(0){}; };bedanke mich schonaml im vorraus für jegliche konstruktive hilfe

-
Entferne den Default-Konstruktor, dann kannst du jeden Member durch die Initialisierungsliste initialisieren.
components<int> c{ {{0, 0, 0}, {1, 1, 1}, {2, 2, 2}}, {} };Alle Member, für die du keinen Initializer angibst, werden hier mit 0 initialisiert.
P.S.: Es heißt "Voraus".
-
hey super, jetzt klappt alles wie geplant.Dabke und euch noch einen erholsamen sonntag