The corresponding bit is the line:
QSAConnection() : sender(0), signal(0), function_ref() { }
Since signal is a QString , the signal(0) bit attempts to call the constructor in the QString class, which takes an integer as the only parameter. QString does not have such a constructor according to the Qt documentation. However, it has a constructor that takes char and a QChar , which has an implicit conversion from int . I expect this to be ambiguous between the two.
Did you mean this instead?
QSAConnection() : sender(0), signal(), function_ref() { }
which will be initialized by default to signal . Note that there is technically no need to include it in the initialization list in general in this case.
source share