Får det felmeddelandet när jag försöker initiera en funktion som tar en pekare till en tvådimensionell vektor som argument. Om det fungerar som jag tror borde jag skriva såhär:
void DealNew(int *K[][]);
Innan jag lade koden i en egen funktion fungerade allt fint, så felet måste ligga i själva funktionsdefinitionen. Förstår inte vad felet betyder heller... Vad är en subscript?
Parantesen är till för att övertyga kompilatorn om att det är pekare till en array som avses. Det är inte säkert att det behövs i en del kompilatorer, men är syntaktiskt riktigt och borgar för att det fungerar i alla kompilatorer. Det finns olika sätt att sända över matriser till funktioner, det enda viktiga man bör ha i åtanke är hur en matris ser ut i datorns minne. Dvs en enda rad av allokerade minnesadresser. Så man skulle även kunna nöja sig med att skicka en pekare till matris[0][0] och sen hålla reda på offset via ytterligare en variabel, alternativt ha en pekare till pekare.
Sök i forumet eller på google om mer information. Detta är en ständigt återkommande fråga :)
264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849