I use MikroC 2.0.0.3.
The following code compile :
Code: Select all
void menu () {
short i;
char m1[] = "Calibration";
char m2[] = "Sauve config.";
char m3[] = "Quitter";
short code;
char scode[5];
// char * m[] = {m1, m2, m3};
char * m[4];
m[0] = m1;
m[1] = m2;
m[2] = m3;
m[3] = '\0';
for (i = 0 ; i < 3; i++) {
LCD_Out (1, 1, m[i]);
Delay_ms (200);
}
Code: Select all
const char m1[] = "Calibration";
const char m2[] = "Sauve config.";
const char m3[] = "Quitter";
short code;
char scode[5];
// char * m[] = {m1, m2, m3};
char * m[4];
m[0] = m1; // <-- Illegal cast
m[1] = m2; // <-- Illegal cast
....
When I don't use const, th following code does not compile :
Code: Select all
for (i = 0 ; m[i] != '\0'; i++) {
Operator [] not applicable to this operands []