加粗部分为什么说这里不能定义函数 最后一行为什么说我少一个大括号

int main()
{
** Node*head_Create()**
{
Node*head,*p,*q;
int m,n;//元素的输入
q=head=new Node;//建立节点
cout<<"请输入数据";
for(cin>>n;n!=-1;cin>>n)
{
p=new Node;
p->data=n;
head->next=p;
head=p;
}
cout<<"请再次输入数据";
for(cin>>m;m!=-1;cin>>m)
{
q=new Node;
q->data=m;
head->next=q;
head=q;
}
return head;
}
void Merge(p,q);
return 0;
}

果然和我想的一样,你不能把一个函数的定义塞在另一个函数里面
int main()
{
Node*head_Create(); //这里可以放申明
...
}

//另一个函数要写在外面。
Node*head_Create()
{
...
}