[C++] Mnożenie wskaźników

Witajcie mam problem ze swoim kodem. Moim zadaniem jest stworzyć program spełniające następujące warunki

napisać funkcję na obliczanie 2 i 3 potęgi liczby rzeczywistej oraz program z jej
wywołaniem; jeden z rezultatów należy zwrócić korzystając ze wskaźników

Kod znajduje się poniżej w linku
https://pastebin.com/PhKm6Vyp

Problem jest w drugiej pętli for, wartości są przypisywane do zmiennej “potega”, więc zamiast mnożyć 222, mnoży 224*16

delete wsk_liczba;

usuwasz to, co jest na wskaźniku, ale to jest na stosie, a więc tego nie usuwasz, to się samo usuwasz. Usuwasz tylko to, co alokujesz poprzez new. Niczego innego.

W zadaniu raczej chodzi o to, żeby wskaźnik był argumentem, czyli main by raczej wyglądał tak:

double p2;
double p3 = potega(a, &p2);

a w funkcji potega przypisywał wartość p2 i zwracał p3.

Poza tym mowa jest o liczbach rzeczywistych, nie całkowitych.

Tak czysto matematycznie, to nie masz tam o jedną pętle za dużo?
Żeby zrobić drugą potęgę wystarczy tylko 4*4.