2013-01-08 13 views
5

co rozumiem, jest to, że musi memcpy ma 3 argumenty:zbyt mało argumentów do funkcji „memcpy”

void * memcpy (void * destination, const void * source, size_t num); 

więc próbuję ten kod:

//char *tmpPtr is a pointer that points to some data 
char frameBuffer[921600]; //destination starting a given index 
int bufferIndex;//the given index 
memccpy(frameBuffer+bufferIndex,tmpPtr,Data.size()-1); 

ale ja dostaję ten błąd:

error: too few arguments to function `void * memccpy (void *, const void *, int, size_t)

+1

Jak do cholery to jest zlokalizowane !!! Chodzi o funkcje ze standardowych bibliotek używanych przez programistów C. Obejmuje prawdziwy komunikat o błędzie i można go dokładnie odpowiedzieć. Jest bardzo prawdopodobne, że pomoże to ludziom w przyszłości, którzy mają tego rodzaju błąd (zbyt mało argumentów może się zdarzyć, często główną przyczyną jest błąd pisowni), co doskonale to ilustruje. –

+3

@LokiAstari jest zlokalizowane, ponieważ jest to moja wina z wpisania nazwy funkcji, przepraszam za to. –

Odpowiedz

25

Typo:

memccpy 
    ^^ 

Wywołałeś niewłaściwą funkcję.

memccpy również przyjmuje postać (jako argument int) po napotkaniu, która kopia zostanie zatrzymana.

+0

my Bad !! Dziękuję, że pracuję przez 18 godzin nad tym projektem, czy muszę usunąć pytanie? –

+1

Nie można go już usunąć, ma on wyższą odpowiedź. Myślę, że można go zamknąć jako zbyt zlokalizowane i być może później usunąć normalny sposób. –

+0

ok, przyjmuję twoją odpowiedź w 8 minut –

Powiązane problemy