Кто-нибудь пытался вызвать перегруженного оператора < < на QObject.QMetaObject вызывать на перегруженные операторы
Например у меня есть класс
class Worker : public QObject
{
Q_OBJECT
public:
explicit Worker(QObject *parent = 0);
Q_INVOKABLE virtual void operator<<(char p);
};
Когда я пытаюсь вызвать его, как это я получаю сообщение об ошибке:
QMetaObject::invokeMethod(&worker, QT_STRINGIFY2(operator<<(char)), Qt::QueuedConnection, Q_ARG(char, 'a'));
ErrorMessage бы: Нет такой метод Worker :: Оператор < < (символ) (символ)
Вы были о названии функции. Обычные функции называются так. Я попробовал ваше предложение и все еще не работает: QMetaObject :: invokeMethod: Нет такого метода Worker :: operator << (char) – GeneralFailure
«Вы были о имени функции, так называемые обычные функции». Какие? Вы можете напрямую вызвать операторов, поэтому '(& worker) -> operator << ('a')' является законным. Вы спрашивали о перегруженных операторах, какие другие перегрузки? (Добавьте их к своему вопросу). – cmannett85
Ах, извините, плохой английский. Я имел в виду, что вы были правы, и это обычно работает для обычных функций. Однако, когда вы пытаетесь использовать перегруженные операторы, он не находит этот метод. Возможно, это имеет какое-то отношение к moc и << персонажам в подписи, но это не работает для меня. Вы можете попробовать это, если хотите, и если это сработает и убедитесь сами. – GeneralFailure