Unhandled exception at 0x003714e9 in Quick.exe: 0xC00000FD: Stack overflow
<p>This never happened to me and I got no idea how to fix it. It just says "Unhandled exception at 0x003714e9 in Quick.exe: 0xC00000FD: Stack overflow." then breaks and it highlights the bracket and shows an arrow next to it which I think it means that the error is located there. 
P.S. The bracket is in bold</p>

<pre><code>#include&lt;iostream&gt;
using namespace std;

int partition(int data[], int left, int right)
**{**
    int pivot = data[left];
    while(true)
    {
        while(data[left] &lt; pivot)
        { 
            left++;
        }
        while (data[right]&gt;pivot)
        {
            //find smaller value than pivot from top array
            right--;
        }

        if(left &lt; right)
        {
            //change pivot place
            int temp = data[right];
            data[right] = data[left];
            data[left] = temp;
        }
        else
        {
            return right;
        }
    }
}

void quickSort (int *data, int left, int right)
{

    if(left&lt;right)
    {
        int cut = partition(data, left, right);
        if(cut&gt;1)
        {
            quickSort(data, left, right);
        }
        if(cut+1&lt;right)
        {
        quickSort(data, cut+1, right);
        }
    }
}

void quickSort(int *data, int length)
{
    quickSort(data, length-length, length-1);
}


void print_array(int array[], int size) //this function is to print the array after we finish sorting and we can use it before the sorting begin
{
    int j;
    for (j=0; j&lt;size; j++)
    cout &lt;&lt;" "&lt;&lt; array[j]&lt;&lt;endl;

}//end of print_array

int main()
{
    const int size = 5;
    int arr[size]= {1, 17, 4, 6, 20};
    quickSort(arr, 0, size); 
    print_array(arr, size);
    system("pause");
    return 0;
}
</code></pre>