Es steht auch wieder in der Fehlermeldung.

Er weis nicht, ob du long double, float oder double haben möchtest.
Nimm mal "pow(double(i), 2);"
Wenn er dann immer noch einen Fehler hat, wäre es nützlich, wenn du deinen Code hier mal posten würdest.
Und das "^" in C++ ist eine bitweise Verschiebung, das hat nichts mit Potenzieren zu tun.