class menu{
public:
char name[10];
byte xpos;
byte ypos;
//char menuname[10];
menu** menulist;
menu* previous_menu;
double value;
menu(char *mname="", byte y=0, byte x=0){
menulist = new menu*[y];
strcpy(name, mname);
}
/* ~menu()
{
delete [] menulist;
}*/
};
menu EC_PH("EC PH",1,3);
menu EC("EC ONLY",0,0);
menu* current_menu=&EC_PH;
void setup(){
Serial.begin(9800);
Serial.println("STARTING");
EC_PH.menulist[6]=&EC;
Serial.println((*current_menu->menulist[6]).name);
}
void loop(){
}
Why does it allow me to assign and dereference an array in position 6 in allocated memory when the array is supposed to be of size 1? Is this just overwriting memory which hasent been dynamically allocated?