# Out of bounds array problem

• March 14th, 2011, 05:37 PM
Out of bounds array problem
Hello.

I am doing an exercise in which I need to do the following:

Design and implement class myArray

myArray class must solve the array index out of bounds problem and allow the user to begin the array index starting at any integer whether it be positive or negative.

All objects of the class are of the type int.

The program must terminate with an error message if the index is out of bounds during execution.

The book makes me consider the following statements:

myArray<int> list(5);
myArray<int> myList(2, 13);
myArray<int> yourList(-5, 9);

which explains

that list has 5 components ( list[0]-list[4] )
myList has 11 components ( myList[2] - myList[12] )
and yourList has 14 components (yourList[-5] - yourlist[9] ).

It then wants me to write a program to test the class.

I am not sure if it wants me to use list, myList, or yourList stated above in the program either so I was confused about that.

I don't want this done for me, I just need a little help here and there, usually when the ball starts rolling, I can handle it, but this time I started with an error already than I can't figure out, so maybe some prying eyes can help me out! Here's what I have, keep in mind this is just incomplete code just to get something to get it compiling.

myArray.h
Code:

```//Class myArray #ifndef "H_myArray" #define "H_myArray" using namespace std; class myArray {       public:             myArray();             myArray(int x);             ~myArray();                   private:               int x; }//End myArray Class myArray::myArray() {                                   }//End myArray default constructor myArray::myArray(int x) {                     }//End myArray constructor myArray::~myArray() { }//End myArray deconstructor #endif```
myArray.cpp
Code:

```#include <iostream> #include "myArray.h" using namespace std; int main() {     myArray arrayObject(5);         system("pause");     return 0;  }//End main```

I keep getting these errors:

Line 2 - In file included from myArray.cpp
Line3:9 - macro names must be identifiers

Line 8 - in Function int main(): 'myArray' undeclared (first use in this function)
(Each undeclared identifier is reported only once for each function it appears in.)

Line 8 - expected ';' before "arrayObject"
[Build Error] [myArray.o] Error 1

Can anyone clarify what mistake I made to get these errors before I start the program?

I think this forum is extremely helpful, so thanks to all of you in advance for helping me in any way possible!
• March 14th, 2011, 06:07 PM
S_M_A
Re: Out of bounds array problem
The header guards should not be string literals. Remove the "".

A class definition should always be terminated with a ;

Also, never put a 'using namespace' in a header. That forfeits the intention with namespace's.
• March 14th, 2011, 11:23 PM
```template<typename T> class myArray {  public:     myArray();     myArray(unsigned arraySize);     //...other c-tors - since you will need the "offset" if any     //don't forget the copy c-tor and assignment operator     //since you will have a pointer and you need to correctly copy the data         ~myArray();  private:     T* data;     unsigned size; };```