I don't see the benefit to tie together one special LCD and a fixed 115200 baud rate,
maybe you could enlighten me.
A static function that returns a LCD with syntax errors in the parameter definition. Strange.
A pointer to what? There is no dynamic part that could have a different address.
What makes that different from this (in class context)?
That is strange for the same reasons.
Using a hidden constructor and pointer access to a static only object is senseless,
because any member can always be accessed via the <class>::<attribute> syntax.
So, this whole project seems to be rather strange and superfluous, besides syntactically wrong.
You have no embedded LCD object.
I see static only objects as a kind of automatic singleton, all users use the same object.