After reviewing floattostring.h threads the suggested method is to use:
String tempC = dtostrf(celsius, 10, 2, 10);
Why would the suggested method be something that is wrong?
The parameters for dtostrf says that the last argument is a character-buffer. You passed a 10. The compiler is telling you that it expected the last argument to be a character array.
dtostrf(floatVar, minStringWidthIncDecimalPoint, numVarsAfterDecimal, charBuf);
So you probably wanted to do:
char buffer; // 10 min string with, decimal, 2 characters after decimal, plus a \0
dtostrf(celsius, 10, 2, buffer);
Then print buffer.