注册 登录
编程论坛 C++教室

报错:a function-definition is not allowed here before‘{’token、

编程新人021 发布于 2022-03-26 19:21, 1764 次点击
#include <stdio.h>
#include <stdlib.h>
int main()
{

typedef struct Node
{
int data;
struct Node *pNode;

}NOD, * PNODE;
PNODE create_list(void)
{
int len;
int i;
int val;


PNODE pHead = (PNODE)malloc(sizeof(NOD));


if (NULL == pHead)
{
printf("分配失败,程序终止!\n");
exit(-1);
}

PNODE  pTail = pHead;
pTail->pNode = NULL;

printf("请输入您需要生成的链表的节点个数:len = ");
scanf("%d", &len);


for (i = 0; i < len; ++i)
{
printf("请输入第%d个节点的值: ", i+1);
scanf("%d", &val);
PNODE pNew = (PNODE)malloc(sizeof(NOD));

if (NULL == pNew)
{
printf("分配失败,程序终止!\n");
exit(-1);
}

pNew ->data = val;
pTail ->pNode = pNew;
pNew ->pNode = NULL;
pTail = pNew;
}

return pHead;
};
}
3 回复
#2
编程新人0212022-03-26 19:22
求大家看看哪里出了错,我检查了一遍还上网搜了都没成功
#3
rjsp2022-03-27 00:19
主要是你的代码错得看不懂你的意图,没法改。
另外,你这是C代码,还是C++代码?

程序代码:
#include <stdio.h>
#include <stdlib.h>

typedef struct Node
{
    int data;
    struct Node* pNode;
} NODE, * PNODE;

PNODE create_list( void )
{
    int len;
    int i;
    int val;

    PNODE pHead = (PNODE)malloc(sizeof(NODE));
    if (NULL == pHead)
    {
        printf("分配失败,程序终止!\n");
        exit(-1);
    }

    PNODE  pTail = pHead;
    pTail->pNode = NULL;

    printf("请输入您需要生成的链表的节点个数:len = ");
    scanf("%d", &len);

    for( i=0; i<len; ++i )
    {
        printf("请输入第%d个节点的值: ", i+1);
        scanf("%d", &val);
        PNODE pNew = (PNODE)malloc(sizeof(NODE));
        if (NULL == pNew)
        {
            printf("分配失败,程序终止!\n");
            exit(-1);
        }

        pNew->data = val;
        pTail->pNode = pNew;
        pNew->pNode = NULL;
        pTail = pNew;
    }

    return pHead;
}

int main( void )
{
}
#4
编程新人0212022-03-27 10:34
回复 3楼 rjsp
是c++应该,代码目的是建一个链表,报错的地方在函数建立那里
1