LINUX.ORG.RU

QDataStream >> vs ambiguous overload

 ,


0

1
QDataStream & operator>>(QDataStream & dataStream, FtpAccount & ftpAccount)
{
    QString hostname;
    dataStream >> hostname;
    ftpAccount.setHostname(hostname);

    quint16 port;
    dataStream >> (quint16&)port;
    ftpAccount.setPort(port);

    QString username;
    dataStream >> username;
    ftpAccount.setUsername(username);

    QString password;
    dataStream >> password;
    ftpAccount.setPassword(password);

    return dataStream;
}
FtpAccount.cpp:61: ошибка: ambiguous overload for 'operator>>' (operand types are 'QDataStream' and 'quint16 {aka short unsigned int}')
     dataStream >> (quint16&)port;
                ^

Но как?



Последнее исправление: totik (всего исправлений: 2)

Ответ на: комментарий от EXL

Не было. Теперь есть. Не помогло.

totik
() автор топика
Ответ на: комментарий от ymuv
QDataStream & operator>>(QDataStream & dataStream, FtpAccount & ftpAccount)
{
    QString hostname;
    dataStream >> hostname;
    ftpAccount.setHostname(hostname);

    quint16 port;
    dataStream >> (quint16)port;
    ftpAccount.setPort(port);

    QString username;
    dataStream >> username;
    ftpAccount.setUsername(username);

    QString password;
    dataStream >> password;
    ftpAccount.setPassword(password);

    return dataStream;
}
FtpAccount.cpp:63: ошибка: no match for 'operator>>' (operand types are 'QDataStream' and 'quint16 {aka short unsigned int}')
     dataStream >> (quint16)port;
                ^
totik
() автор топика
Ответ на: комментарий от totik
QDataStream & operator>>(QDataStream & dataStream, FtpAccount & ftpAccount)
{
    QString hostname;
    dataStream >> hostname;
    ftpAccount.setHostname(hostname);

    quint16 port;
    dataStream >> (quint16&)port;
    ftpAccount.setPort(port);

    QString username;
    dataStream >> username;
    ftpAccount.setUsername(username);

    QString password;
    dataStream >> password;
    ftpAccount.setPassword(password);

    return dataStream;
}

Окончательный вариант скомпилировался. Видимо не хватало подключения хедера QDataStream, однако эффект появлися не сразу. Я не знаю что за полтергейст. Видимо надо лучше высыпаться.

Всем спасибо.

totik
() автор топика
Ответ на: комментарий от EXL

Видимо не хватало подключения хедера. Неясно только почему его подключение сразу не возымело эффекта. Наверное сплю на ходу =)

totik
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.