title: Initializing Dynamic Array of Strings (C++)
body: <p>I am working on assignment to create a container class for a dynamic array of strings. I know that it would be much easier/better done with std::vector, but that is not the point. I am having a problem finding the right way to initialize my array in the constructor. The way it is below, I am still being warned by the compiler that the variable lineArray is not used. The program compiles with a warning that lineArray is unused then hangs at runtime.</p>
  
  <pre><code>MyBag::MyBag()
  {
      nLines = 0;
      std::string lineArray = new std::string[0] ();
  }
  void MyBag::ResizeArray(int newLength)
  {
      std::string *newArray = new std::string[newLength];
      //create new array with new length
      for (int nIndex=0; nIndex &lt; nLines; nIndex++)
      {
          newArray[nIndex] = lineArray[nIndex];
          //copy the old array into the new array
      }
      delete[] lineArray; //delete the old array
      lineArray = newArray; //point the old array to the new array
      nLines = newLength; //set new array size
  }
  void MyBag::add(std::string line)
  {
      ResizeArray(nLines+1); //add one to the array size
      lineArray[nLines] = line; //add the new line to the now extended array
      nLines++;
  }
  </code></pre>
  
  <p><a href="http://ideone.com/pxX18m" rel="nofollow">http://ideone.com/pxX18m</a></p>