I read that you can declare an aray of objects by this line
Enemy * d = new Enemy[2];
but when i tried to make a 2 dimensional array, there was an error where this cant be initialized. I also tried this
Enemy *enemies[6][2];
but i am not sure how to reference to each object in that array and and how to pass that reference to a function.
You need to use a pointer to a pointer in order to make a jagged array.
If you plan on making a fixed size array, you can just create it the same as you would a normal array.
You then just reference them using two indices.
Note: You will find that multi-dimensional arrays tend to lead to more headaches than they are worth. It is much cleaner to maintain a single dimension array and simply index it based on the number of rows and columns.