---
title: "Parse error before '{'"
type: "forum-thread"
url: "https://www.webforum.nu/amne/c-cpp/28125-parse-error-before"
topic: "C/C++"
topic_url: "https://www.webforum.nu/amne/c-cpp"
author: "LilleSkutt"
published: "2001-11-19T20:54:00.000Z"
updated: "2001-11-20T16:52:00.000Z"
replies: 1
views: 394
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/c-cpp/28125-parse-error-before"
---

# Parse error before '{'

## #1 — LilleSkutt, 2001-11-19T20:54Z

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å?

Permalänk: https://www.webforum.nu/p/28125

## #2 — Muzzafarath, 2001-11-20T16:52Z

\<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;

Permalänk: https://www.webforum.nu/p/401349

---

Tråden på webben: https://www.webforum.nu/amne/c-cpp/28125-parse-error-before
