Próbuję zwrócić tablicę w funkcji i użyć jej elementu. W Pythonie coś takiego zadziała, w c++ nie działa.
uint32_t funkcja(uint32_t k, uint32_t x)
{
uint32_t s = k | 1;
uint32_t w = 0;
uint32_t wynik[3];
for (int i = 0; i < 32; i++)
{
k += x;
x = x * k;
x ^= (w += s);
}
wynik[0] = k;
wynik[1] = x;
wynik[2] = w;
return wynik;
}
int main()
{
uint32_t k_init = 1;
uint32_t x_init = 12345;
uint32_t k = funkcja(k_init, x_init)[0];
return 0;
}
Dostaję błąd:
error: invalid conversion from ‘uint32_t*’ {aka ‘unsigned int*’} to ‘uint32_t’ {aka ‘unsigned int’}
-fpermissive]
oraz
error: invalid types ‘uint32_t {aka unsigned int}[int]’ for array subscript
O co chodzi?