void inputbookinfo(struct catalog *p);
void searchbytitle(struct catalog *p);
void savebookinfo(struct catalog *p);
void readbookinfo(struct catalog *p);
main함수 전에 함수들 선언하고
struct catalog book[100]; 구조체 배열 선언하고
struct catalog *pbook = book; 거기에 대한 포인터 선언하고
void (*pa[4])(pbook)={inputbookinfo(pbook),searchbytitle(pbook),savebookinfo(pbook),readbookinfo(pbook)};
근데 자꾸 함수 포인터 선언하는 void(*pa 이쪽줄 부분에서 error C2120: \'void\' illegal with all types가 4개씩 떠버림
도대체 왜 ! pbook 구조체배열포인터 맞는데 왜...
ㅠㅠ 한시간넘게 계속 여기서 막혀있어요 이것저것 다해보는데
딱보니 void로 선언하신 주제에 속에서는 return하셨구만
리턴 안했음 ㅠㅠ 함수 3개는 만들지도않아서{}해놨고 맨처음함수만 리턴값없이 포인터로 하구있는데 이럼..
아 저기 속에 함수에 일일히 void 붙여줘야 해요?
void (*pa[4])(pbook)={inputbookinfo(pbook),searchbytitle(pbook),savebookinfo(pbook),readbookinfo(pbook)};이건 뭔 수작이여 그럼
void (*pa[4])(pbook)={void inputbookinfo(pbook),void searchbytitle(pbook),void savebookinfo(pbook),void readbookinfo(pbook)}; 이렇게 했더니 error C2059: syntax error : \'type\' 이렇게 떠요.. 함수 포인터 만들려구 저렇게 한건데
함수 포인터 안에 void 붙이지마셈
그거는 원래꺼가 맞음
ㅠㅠ
왜안되지 ㅠㅠ
선언부에서 인자 이름 적으면 안 먹힐텐데
전체소스로 글 수정해봤음 void (*pa[4])(pbook); pa = {inputbookinfo(pbook) ,searchbytitle(pbook) , savebookinfo(pbook) , readbookinfo(pbook) }; 로했더니 { syntax 에러
void (*pa[4])(struct catalog *)
배열인데 선언부 말고 어케 적용시키지
{}안에서 (pbook)빼고 부를 때 그냥 pa[n](pbook)으로 쓰셈
헐 됐다!!! 고맙습니다 으아ㅏ
ㅠㅠㅠ 드디어 됐다신난당
감사합니다 ㅠㅠ