Witam, mam taki kod (fragment), który ma na celu dodanie elementu do tablicy dynamicznej. Wykład to klasa a ostatni wiersz to podstawienie jakiegoś przykładowego wykładu. Na początku buff oraz tab wskazują na NULL, n = 0. Oto kod:
*buff = new Wyklad[n];
memcpy(*buff, *tab, n);
delete[] *tab;
*tab = new Wyklad[n + 1];
memcpy(*tab, *buff, n);
delete[] *buff;
n++;
tab[n] = przykladowywyklad;
A oto lista błędów :P :
main.cpp: In function âint main()â:
main.cpp error: no match for âoperator=â in â* buff = (operator new [](((size_t)(((((unsigned int)n) * 6u) + 1u) * 4u))), ((((unsigned int)<anonymous>) <unknown operator="operator"> ((unsigned int)n)), (<statement>, (((Wyklad*)<anonymous>) + 4u))))â
dane.h note: candidates are: Wyklad& Wyklad::operator=(const Wyklad&)
main.cpp error: cannot convert âWykladâ to âvoidâ for argument â1â to âvoid memcpy(void*, const void*, size_t)â
main.cpp error: type âclass Wykladâ argument given to âdeleteâ, expected pointer
main.cpp error: no match for âoperator=â in â* tab = (operator new [](((size_t)(((((unsigned int)(n + 1)) * 6u) + 1u) * 4u))), ((((unsigned int)<anonymous>) <unknown operator="operator"> ((unsigned int)(n + 1))), (<statement>, (((Wyklad*)<anonymous>) + 4u))))â
dane.h note: candidates are: Wyklad& Wyklad::operator=(const Wyklad&)
main.cpp error: cannot convert âWykladâ to âvoidâ for argument â1â to âvoid memcpy(void*, const void*, size_t)â
main.cpp error: type âclass Wykladâ argument given to âdeleteâ, expected pointer
Z góry dziękuję za odpowiedź.