webForumDet fria alternativet

Parse error before '{'

1 svar · 365 visningar · startad av LilleSkutt

LilleSkuttMedlem sedan feb. 2001265 inlägg
#1

Felmeddelandet ovan får jag där jag har följande kod:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
char c[4][4] = {
{'a','b','c','d'},
{'d','c','b','a'},
{'c','d','a','b'},
{'b','a','d','c'}
};

Jag får också varningar om "warning: address of local variable 's' returned"
Det tolkar jag som att addressen till strängen returneras? Koden jag får felmeddelandet på ser ut så här:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
void abc(const char* a) {

char s[strlen(a) + 1]; <-- Här får jag felet
// MER KOD HÄR EGENTLIGEN
}

Vad beror dessa felmeddelanden på?

------------------
---
/* LilleSkutt */

[Redigerat av LilleSkutt den 19 nov 2001]

MuzzafarathMedlem sedan apr. 20002 487 inlägg
#2

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
char s[strlen(a) + 1]; <-- Här får jag felet

Det där funkar liksom inte. När du skapar en array så måste kompilatorn veta hur stor arrayen skall vara vid kompileringen. När du gör sådär så kan inte kompilatorn veta hur stor den skall göra arrayen, eftersom värdet av strlen(a) kan variera (det som står innom [ ] måste vara konstant). Nåt sånt här borde funka:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
char *s = malloc(sizeof(char) * strlen(a) + 1));
if(s == NULL) return -1;

------------------
"If God had wanted you to wear earrings, he'd have made you a girl." - Alabama Governor Don Siegelman :e

[Redigerat av Muzzafarath den 20 nov 2001]

132 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)