So i am implementing a BigNum Class to deal with large integers and am currently trying to fix my string constructor class. I have to be able to read Strings such as "-345231563567" in an array with the numbers being read in backwards (i.e. 765365132543). The first part of the code attached checks the first character to see if it is positive or negative and sets positive to true or false. The next part of the code checks for leading zeros in the number that may occur as well as if the number is zero itself. the last part is what is loading the number into the array and for some reason i can not get the code to work. any help with a solution is much appreciated. 

```
    BigNum::BigNum(const char strin[])
{
size_t size = strlen(strin);
positive = true;
used=0;
if(strin[0] == '+')
{
    positive = true;
    used++;
}
else if(strin[0] == '-')
{
    positive = false;
    used++;
}
else
{
    positive = true;
}

// While loop that trims off the leading zeros
while (used < size)
{
    if (strin[used] != '0')
    {
    break;
    }

    used++;
}

// For the case of the number having all zeros
if(used == size)
{
    positive = true;
    digits = new size_t[1];
    capacity = 1;
    digits[0] = 0;
    used = 1;
}
// Reads in the digits of the number in reverse order
else
{
    int index = 0;
    digits = new size_t[DEFAULT_CAPACITY];
    capacity = size - used;

    while(used < size)
    {
    digits[index] = strin[size - 1] - '0';
    index++;
    size--;
    }
    used = index + 1;
}
}

```

The BigNum.h can be found here
<http://csel.cs.colorado.edu/%7Eekwhite/CSCI2270Fall2011/hw2/revised/BigNum.h>

and the Test file i am trying to use can be found here. I fail test 7
<http://csel.cs.colorado.edu/%7Eekwhite/CSCI2270Fall2011/hw2/revised/TestBigNum.cxx>