Qt documentation says, return values of signals are not possible:
Signals are automatically generated by the moc and must not be implemented in the
The problem is that the return types are are not checked for compatibility at connect-time, thus connecting a double-returning slot to a float-returning signal, say, will overflow the stack (no pun intended) space allocated to the float.