C++ style dynamic size arrays (new[] and delete[])
It probably occurred to you that we won't always know the size of an array at the start of a program. We would need to allocate the array's size dynamically.
However, if you've tried it, you might have noticed that this doesn't work!
Let's try and use the cin
command to take in an array size from the user. Let's ask the user how big he wants his array and try to create one for him of that size:
#include <iostream> using namespace std; int main() { cout << "How big?" << endl; int size; // try and use a variable for size.. cin >> size; // get size from user int array[ size ]; // get error: "unknown size" }
We get the following error:
error C2133: 'array' : unknown size
The problem is that the compiler wants to allocate the size of the array. However, unless the variable size is marked const
, the compiler will not be sure of its value at compile...