I apologize if this is a very simple error that has slipped my mind, but does anyone see anything wrong with this class?

Code:
class Cell {
public:
	Cell() {
		o1 = new GameObject();
		o2 = new GameObject();
		o3 = new GameObject();
		o4 = new GameObject();
	}
	~Cell() {
		delete o1;
		delete o2;
		delete o3;
		delete o4;
	}
private:
	GameObject * o1;
	GameObject * o2;
	GameObject * o3;
	GameObject * o4;
};
When the program is exited and the destructor runs, I get this error:

Unhandled exception at 0x68b631ea (msvcr90d.dll) in Erg.exe: 0xC0000005: Access violation reading location 0xfeeefee2.

I realize this means I am trying to delete something that is not there. Should I be checking that the allocation ran properly? Is the constructor somehow not running?

I'm running Visual Studio 2008 on Windows Vista Home Premium.

Thanks for any help and sorry again if it's something small and stupid.