kan nie converten const char* [6] naar const int*

Status
Niet open voor verdere reacties.

Bulletproof2

Nieuwe gebruiker
Lid geworden
9 jun 2006
Berichten
1
Ik ben nog maar een beginner en ik heb een redelijk simpele code waarbij ik de lengte van een const char (van de array) moet berekenen ik heb daarbij dit al. Dit is mijn functie:

int arraylengte( const int* arr )
{
int lengte = 0;
while( *arr != 0 )
{
arr = arr+1;
arr++;
}
return lengte;
}

En dit als aanroep:

const char* Namen[] = {"Jan", "Piet", "Klaas", "Marietje", "Truus", "Bep" };
arraylengte( Namen );

Maar ik krijg dan deze fout:
error C2664: 'arraylengte' : cannot convert parameter 1 from 'const char *[6]' to 'const int *'

Kan iemand mij helpen en mij van deze fout af helpen. Ik denk zelf dat het niet zo heel moeilijk is maar het lukt me niet.
als je bij de functie: const char* arr invult krijg je weer (ongeveer) dezelfde fout

Alvast bedankt,
Groetjes Bulletproof2
 
int arraylengte( const int* arr )


const char* Namen[] = {"Jan", "Piet", "Klaas", "Marietje", "Truus", "Bep" };



omdat je je constant char namen als CHAR hebt gedeclareerd en je functie verwacht een
constant int. :P

o , daar was je zelf al achter :P srr

Ook in deze functie : int arraylengte( const char* arr[] ) je hebt de twee [] vergeten waardoor de functie denkt dat het een gewone constant int is , en geen array
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan