One function is supposed to return an int. It returns some non-zero ints for error conditions. For the normal exit, there is no return statement. The function actually returns the value 768. This gets understood by the calling function as an error, because it is apparently expecting a return of 0 for the non-error condition. This results in error messages from the demo program for the library.
Libraries are contributed. Not all of them have been peer reviewed. Not all the suggestions made during the peer reviews are incorporated. So, libraries, like sketches, are not necessarily perfect. If you don't tell us what library you are talking about, though, we can't help.
Maybe on his system a function returning an int returns 0 if there is no return statement. On mine it doesn't.
What gets returned is garbage in either case. The garbage on the developer's system could well have been 0. On yours, obviously not.
I am bamboozled by this . what exactly is myStruct() ?? A constructor ?
A call to the constructor, yes.
This is some syntax for a struct I don't know.
The definition of the struct is perfectly normal.
It is neither a function nor an object constructor.
What is? What does "it" refer to in that sentence?
The code you referenced IS calling the constructor to create an object.
Does this allocate an object and if so, where does it get deallocated ?
Yes, it is allocating an object. It gets deallocated when the returned object goes out of scope.
does it's address have any validity after the function returns ?
No, it does not. That function is completely wrong.