Stack Exchange
Binary Search Tree C delete node Some Error
This is my code is that
visit http://pastebin.com/697Dr51E#
when i try to build that making for me some error 

Error 1   error C2664: 'search_arc' : cannot convert parameter 1 from
  'link []' to 'link *[]'  

Function definition:  
int search_arc(link *gr[n], char c1, char c2)
{
        int flag = 0;
        if (search_node(gr, c1) && search_node(gr, c2))
        {
                int i = 0;
                while (gr[i] == NULL || gr[i]->key != c1)i++;
                link *p = gr[i];
                while (p->key != c2&&p->next != NULL)
                        p = p->next;
                if (p->key == c2) flag = 1;
        }
        return flag;
}  

Function call:  
switch (m)
            {

                case(7) : {cout << "\nInput first node : "; cin >> c;
                        cout << "\nInput second node : "; cin >> k;
                        if (search_arc(gr, c, k))cout << "\nYes!";
                        else cout << "\nNo!"; break;}
                case(8) : {list_node(gr); }
            }


(1) Post the relevant code here. (2) give your question a more informative title. (3) There is no question in this post. (4) Did you try to understand the error msg? what do you think it says? what did you try to solve this issue? (5) Please indicate where exactly the error is.

Sorry about that this is my first stackover.
That code i try to make binary tree with search add delete and child but i make some where problem and i could't find this.

You are passing link * type argument to your function  search_arc while it is expecting link *[] type argument. Change your function prototype to   
int search_arc(link *gr, char c1, char c2)  

if you want to pass link * type argument.

This code has lots of issues. In this situation you're reusing a variable named gr which is a global declared near the top of the file. Then you're using the same variable name as a parameter. You should rename the global or the function argument to something different and continue from there.
It is unclear whether the code in the add_arc() function is trying to use the argument gr or the global gr, because they are different types. One is a link** and the other is a link*.
Note the declaration of the function add_arc() has a parameter link gr[n] which is of a different type from the search_arch() parameter link *gr[n]:
void add_arc(link gr[n], char c1, char c2)
{
    int i = 0;
    link *p;
    if (search_arc(gr, c1, c2))
    {
        cout << "\nExisting arc!\n";
...

