作者q22554647 (建)
看板b99902HW
標題[作業] 雙班計程11-1
時間Sat Dec 25 18:17:30 2010
我部分的code
struct node{
char name[20];
struct node *prev;
struct node *next;
} ;
typedef struct node NODE;
typedef NODE *NODEPtr;
void insert(NODEPtr *head, NODEPtr *tail, char where, int index, char
name[20]){
NODEPtr newptr;
newptr=malloc(sizeof(NODE));<-------這邊compile過不了= =
出現invalid coversion 'void*' to 'NODE*'的錯誤訊息
誰可以告訴我為什麼= =....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.24.102.126
1F:推 marrvosal:newptr=(NODE *)malloc(sizeof(NODE));這樣 12/25 18:20
2F:→ q22554647:感謝!!!!,可是為什麼阿0.0..投影片都沒這樣用耶 12/25 18:23
3F:推 pf5179:據神秘人士表示:似乎是跟用C與C++有關係唷 12/25 18:42
4F:→ pf5179:其實不是很確定 有沒有真強者要解答QQ 12/25 18:43
5F:推 radar735:據說那是cast (?) 12/25 19:05
6F:推 orina1123:就是要把malloc()回傳的指標轉成NODE*型態呀 12/25 20:12
7F:→ orina1123:不然malloc()自己傳回來的是void*型態的指標 12/25 20:13
8F:推 ianlini:因為你副檔名是cpp的話只接受new和delete 12/25 21:52
9F:推 ianlini:更正...是C++和C不一樣... 12/25 22:01
10F:→ ianlini:不過如果用C++通常就是new就好了 12/25 22:02