[英]project-strcpy incompatible pointer type in C
我有這些錯誤: 在 function 'send_message': lists.c:19:18: 警告:從不兼容的指針類型 [-Wincompatible-pointer-types] 19 中傳遞 'strcpy' 的參數 1 | strcpy(new_node->content,content); | ~~~~~~~~^~~~~~~~~ | | | char ( )[100] 在列表中包含的文件中。c:3: /usr/include/string.h:122:14: 注意:預期的 'char * restrict' 但參數的類型是 'char ( )[100]' 122 | extern char *strcpy (char *__restrict __dest, const char *__restrict __src) | ^~~~~~ 列表。c:20:18: 警告:從不兼容的指針類型 [-Wincompatible-pointer-types] 20 | 傳遞“strcpy”的參數 1 strcpy(new_node->destination,destination); | ~~~~~~~~^~~~~~~~~~~~~
這是我的代碼:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
#define MAX 100
struct mailbox
{
int priority;
char content[MAX],destination[MAX];
struct mailbox* next;
};
void send_message(struct mailbox **ref_head,int priority,const char *destination,const char *content)
{
if(priority==1)
{
struct mailbox *new_node=(struct mailbox *)malloc(sizeof(struct mailbox));
strcpy(new_node->content,content);
strcpy(new_node->destination,destination);
strcpy(new_node->next,(*ref_head));
strcpy((*ref_head),new_node);
}
}
void printList(struct mailbox *node)
{
while(node!=NULL)
{
printf("Content:%s Destination:%s \n",node->content,node->destination);
node=node->next;
}
}
struct mailbox* initialize(){
printf("No messages\n");
return NULL;
}
int main(int argc, char const *argv[])
{
struct mailbox *head=NULL;
initialize();
send_message(&head,1,"Ana","dasdas");
send_message(&head,1,"David","sdsd");
return 0;
}
strcpy((*ref_head),new_node);
我也無法弄清楚這應該是什么。 顯然struct mailbox *
不是字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.