0

I want to initialize my vector to it's size (in this case - 5) from a parameterised constructor which I'll be calling from the main function.

class OrderedStream{
  public:
   std::vector<std::string> vec;
   OrderedStream(int n)
   {
     vec(n); // define size of vector here 
   }
};

int main()
{
  OrderedStream *o = new OrderedStream(5);
  // By now, I want a vector of size 5
}

1 Answers1

0

You need to use a member initializer list:

OrderedStream(int n)
    : vec(n)  // <- A list of initializers for (non-static) members
{
    // Empty
}

On another note, unless you expect negative sizes, I recommend that you use size_t for sizes.

Some programmer dude
  • 400,186
  • 35
  • 402
  • 621