Mam problem gdy tworze item w ncurses, moge tam dac dwa argumenty, chce zeby pierwszym byl numer itemu a drugim jego nazwa ktora jest w tablicy z nazwami itemow, zaraz wrzuce ponizej jak probuje to rozwiazac ale ciagle mam komunikat o ochronie pamieci.
int numbers[8];
char *choices[]={
"1.GREEN",
"2.RED",
"3.BLUE",
"4.YELLOW",
"5.WHITE",
"6.MAGENTA",
"7.BLACK",
};
ITEM **my_items;
MENU *my_menu;
WINDOW *my_menu_win;
int n_choices = ARRAY_SIZE(choices),number = 1;
char choice;
my_items = (ITEM **)calloc(n_choices + 1,sizeof(ITEM *));
for(int i = 0;i < n_choices;++i){
numbers[i]=i;
my_items[i] = new_item(numbers[i],choices[i]);
}
Probowalem tam w "my_items[i] = new_item(numbers[i],choices[i]);" dac tylko "i" ale to tez nie dziala zbyt dobrze, moze nie da sie tam podawac jako argumenty liczb calkowitych ? ale jak wtedy wypisywac numery itemow ?
@Edit - na razie rozwiazalem to tak:
int numbers[8];
char *choices[]={
"1.GREEN",
"2.RED",
"3.BLUE",
"4.YELLOW",
"5.WHITE",
"6.MAGENTA",
"7.BLACK",
};
ITEM **my_items;
MENU *my_menu;
WINDOW *my_menu_win;
int n_choices = ARRAY_SIZE(choices),number = 1;
char choice;
my_items = (ITEM **)calloc(n_choices + 1,sizeof(ITEM *));
for(int i = 0;i < n_choices;++i){
numbers[i]=i;
my_items[i] = new_item(numbers[i]," ");
}
Dalem po prostu juz w tablicy numery a opis przedmiotu zastapilem spacja ale nie wiem czy to takie eleganckie wyjscie ;p No i przy wiekszej liczbie itemow moglby byc z tym klopot, jak ktos mialby problem jak to rozwiazac lepiej to czekam.