c++ initialization of an array of string pointers
<p>I want to initialize an array of <code>std::string</code> pointers of size that i get from a constructor. Also, i want to do the same for two <code>int</code> arrays but the code below doesn't compile:</p>

<pre><code>class MyQuickInitArray
{
public:
    MyQuickInitArray(int size)
    {
        if(size &lt;= 0)
        {
            throw new std::exception;
        }

        _size = size;
        _counter = 0;
        A = new std::string[size];
        B = new int[size];
        C = new int[size];
    }

    std::string&amp; operator[](int j) {
        if(j &gt; _size)
        {
            throw std::out_of_range("out of range");
        }

        if(((B[j]&lt;0) || (B[j]&gt;=_counter)) || (C[B[j]]!=j))
        {
            // A[j] points to junk
            _counter++;
            A[j] = new std::string;
            B[j] = _counter-1;
            C[_counter-1] = j;
            return A[j];
        }

        // the cell was instantiated before
        return A[j];
    }

    ~MyQuickInitArray(){};


private:
    std::string* A[];
    int B[];
    int C[];
    int _size;
    int _counter;
};
</code></pre>

<p>How can i properly declare an array of size that i get from a ctor?</p>

<p><strong>EDIT:</strong></p>

<p>The error that occurs is:</p>

<pre><code>incompatible types in assignment of ‘std::string* {aka std::basic_string&lt;char&gt;*}’ to ‘std::string* [0] 
</code></pre>

<p>And for the <code>int</code> arrays:</p>

<pre><code>incompatible types in assignment of ‘int*’ to ‘int [0]’
</code></pre>
