Ten kod służy tylko do przetestowania mojej wiedzy na temat dostępu do tablicy struktur. Kiedy wykonałem ten kod, daje mi to dwa różne inicjały dla param. Pomóż mi zrozumieć błąd i rozwiązać ten problem. Próbowałem ponownie użyć kodu, który został już przez kogoś rozwiązany. Moje pytanie dotyczące wypełnienia Struct parametrami Param_u paramZbyt wiele inicjuje dla tablicy struktury Unii
#include <iostream>
#include <stdio.h>
#include <string.h>
#define ARRAY_COUNT(arr) (sizeof (arr)/sizeof *(arr))
typedef union {
struct { // Function parameters
int *array;
size_t size;
};
struct { // Function return value
float mean;
int Median;
};
} Param_u;
int main() {
int array_1[] = {1, 2, 3, 4, 5};
int ret1, ret2;
// Fill the Struct with parameters
Param_u param = {
.array = array_1,
.size = ARRAY_COUNT(array_1),
};
return 0;
}
prog.cpp: funkcja 'int main()': prog.cpp: 28: 5: Błąd: Zbyt wiele inicjalizatory 'Param_u' }; – TestEngineer
clang również daje błąd. Zobacz prezentację na żywo [tutaj] (http://rextester.com/PNAALV26498). Którą wersję klangu używasz? – Destructor
Standardowy C++ nie ma wyznaczonych inicjalizatorów –