[ Príspevkov: 6 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20 | 20
NapísalOffline : 10.12.2017 19:51 | C - void*

Ahoj, mam zadanie doplnit header file (implementovat FIFO zasobnik, ktory ma byt univerzalny co sa datoveho typu tyka) a dostal som predpis funkcii typu
Kód:
void* pop_from_queue(queue_t *queue)
atd... Viete mi prosim poradit ako sa s tymto pracuje ? napr : mam tam strukturu
Kód:
typedef struct {
   int end;
   int size;
   void *list;
} queue_t;
a na prikaze
Kód:
bool push_to_queue(queue_t *queue, void *data){
        ...
   queue->list[queue->end] = data;
   ...
};

(a mnoho dalsich) mi hadze chybu ze s tym nespravne pracujem


_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Online

Užívateľ
Užívateľ
C - void*

Registrovaný: 15.06.14
Prihlásený: 27.01.21
Príspevky: 17374
Témy: 137 | 137
Bydlisko: Bratislava
NapísalOnline : 10.12.2017 21:23 | C - void*

Myslím že pri vracani hodnoty stačí pretypovat premennú:
Kód:
return (void*)output;


_________________
ITX >>> ATX
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20 | 20
Napísal autor témyOffline : 11.12.2017 13:37 | C - void*

return je asi jediny prikaz kde mi nehadze chybu


_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Online

Užívateľ
Užívateľ
C - void*

Registrovaný: 15.06.14
Prihlásený: 27.01.21
Príspevky: 17374
Témy: 137 | 137
Bydlisko: Bratislava
NapísalOnline : 11.12.2017 13:38 | C - void*

"mi hadze chybu" je velmi presny opis daneho problemu a hocikto by dokazal urcit kde je chyba (no ibaze by mal kristalovu gulu)


_________________
ITX >>> ATX
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 19.06.12
Prihlásený: 11.12.17
Príspevky: 132
Témy: 20 | 20
Napísal autor témyOffline : 11.12.2017 13:43 | C - void*

Kód:
In file included from queue.c:1:
./queue.h:20:29: warning: invalid application of 'sizeof' to a void type
      [-Wpointer-arith]
        sm->list = malloc(sm->size*sizeof(void));
                                   ^     ~~~~~~
./queue.h:18:2: warning: variable 'sm' is uninitialized when used here
      [-Wuninitialized]
        sm->end = 0;
        ^~
./queue.h:17:13: note: initialize the variable 'sm' to silence this warning
        queue_t *sm;
                   ^
                    = NULL
./queue.h:38:13: warning: subscript of a pointer to void is a GNU extension
      [-Wpointer-arith]
        queue->list[queue->end] = data;
        ~~~~~~~~~~~^
./queue.h:38:26: error: incomplete type 'void' is not assignable
        queue->list[queue->end] = data;
        ~~~~~~~~~~~~~~~~~~~~~~~ ^
./queue.h:53:20: warning: subscript of a pointer to void is a GNU extension
      [-Wpointer-arith]
        help = queue->list[0];
               ~~~~~~~~~~~^
./queue.h:53:7: error: assigning to 'void *' from incompatible type 'void'
        help = queue->list[0];
             ^ ~~~~~~~~~~~~~~
./queue.h:57:15: warning: subscript of a pointer to void is a GNU extension
      [-Wpointer-arith]
                        queue->list[i] = queue->list[i+1];
                        ~~~~~~~~~~~^
./queue.h:57:32: warning: subscript of a pointer to void is a GNU extension
      [-Wpointer-arith]
                        queue->list[i] = queue->list[i+1];
                                         ~~~~~~~~~~~^
./queue.h:57:19: error: incomplete type 'void' is not assignable
                        queue->list[i] = queue->list[i+1];
                        ~~~~~~~~~~~~~~ ^
./queue.h:74:21: warning: subscript of a pointer to void is a GNU extension
      [-Wpointer-arith]
                return queue->list[idx];
                       ~~~~~~~~~~~^
./queue.h:74:10: error: returning 'void' from a function with incompatible
      result type 'void *'
                return queue->list[idx];
                       ^~~~~~~~~~~~~~~~


cely kod ti tu postovat urcite nebudem... napisal som celkom jasne ze potrebujem vysvetlit ako sa pracuje s void* ako s premennou, tak neviem co mas za problem


_________________
Lenovo IdeaPad G580
*Intel Core i3-2310M 2.10GHz * 4GB RAM * Nvidia GeForce 610M 1GB * 500GB HDD SATA * Windows 10 64-bit || Ubuntu 14.04
Online

Užívateľ
Užívateľ
C - void*

Registrovaný: 15.06.14
Prihlásený: 27.01.21
Príspevky: 17374
Témy: 137 | 137
Bydlisko: Bratislava
NapísalOnline : 11.12.2017 13:51 | C - void*

ziadny problem nemam, neviem ako si na to prisiel. ale popis problemu "hadze chybu" nie je dostatocny absolutne na nic, nie este na najdenie chyby v kode (ktory ani nemam zaujem vidiet) a nie je na urovni akou sa ma vediet programator vyjadrovat ked nieco potrebuje..

najdi si na googli ako sa pracuje s void pointrami a potom sa mozes vratit s takymto pristupom


_________________
ITX >>> ATX
 [ Príspevkov: 6 ] 


C - void*



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy.

Dark Void

v Počítačové hry

2

414

21.01.2010 15:06

AsuSmaNiaK

V tomto fóre nie sú ďalšie neprečítané témy.

pretypovanie pointeru na void

v Assembler, C, C++, Pascal, Java

1

522

03.10.2009 18:07

plna.hlava

V tomto fóre nie sú ďalšie neprečítané témy.

javascript:void(location.href ??

v JavaScript, VBScript, Ajax

0

320

10.04.2010 19:58

d0.0b

V tomto fóre nie sú ďalšie neprečítané témy.

P: Corsair VOID Gaming Wireless

v Kôš

0

42

25.01.2016 13:46

macoba821

V tomto fóre nie sú ďalšie neprečítané témy.

P: Corsair VOID Gaming Wireless

v Predám

0

128

27.01.2016 12:05

macoba821

V tomto fóre nie sú ďalšie neprečítané témy.

P: Corsair Void Pro RGB Wireless

v Predám

1

131

22.09.2020 18:54

hawo



© 2005 - 2021 PCforum, edited by JanoF