const vs non const definition

Hi,
i am doing a menu driven interface and just come to a issue,
i wish to put the declaration of the menu in a const instead, so it won't use as much ram (i hope that the compiler put that in the flash)

const char* Menu1[] = {" 1.DMX Channel      ", 
                 " 2.Fixture          ", 
                 " 3.Scene            ",
                 " 4.Step             ",
                 " 5.Setup            ", 
                 " 6.Another Menu     "}

but as soon as i try to pass that in a function, it won't work anymore?

void loop()
{
 Choix=ScrollMenu((Menu1, EncPulse);
 }

This is the scrollMenu declaration

int ScrollMenu(char *Menu[], int Direction)
{

i don't get it? should const be exactly the same as normal var?
This is the error i get
error: invalid conversion from 'const char**' to 'char**
if i remove the 'const' it works but i got so many menu that i don't want to eat the whole ram!
Thanks in advance guys
Patgadget
Montreal

The function prototype for 'ScrollMenu' is expecting a non-const pointer, so you get an error message. In theory, the difference could affect optimisations. You could try casting the const pointer to just plain 'char *', or (if you have the source to 'ScrollMenu'), change the prototype.

Thanks
casting it to const fix it

int ScrollMenu(const char *Menu[], int Direction)

what about the 'const' declaration? are they in flash or ram?
Thanks again
Patgadget
Montreal

"what about the 'const' declaration? are they in flash or ram?"

Unless you specify progmem they are kept in both.