簡體   English   中英

C 中的 project-strcpy 指針類型不兼容

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM