crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Неизвестный оператор &&
++Norton++
  опции профиля:
сообщение 8.10.2008, 14:21
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 98
Регистрация: 5.10.2008
Пользователь №: 380

Спасибо сказали: 0 раз(а)




Репутация:   1  


Компилирую программу. Вод код ее модуля, в котором возникает ошибка:
#include <QtCore>
#include "include/ddr.h"

    void DDR::lsDir(QString param, QString dirname) {
    QStringList dirlist;
    int i;

    if(param=="" && dirname="")
    {
    dirlist = dir.entryList();
    for(i=2; i<dirlist.count(); i++) show(dirlist.at(i)+" ");
}

    }

Пишет следующее:
In file included from ls.cpp:2:
include/ddr.h:19:7: warning: no newline at end of file
ls.cpp:16:5: warning: no newline at end of file
ls.cpp: In member function 'void DDR::lsDir(QString, QString)':
ls.cpp:8: error: no match for 'operator&&' in 'param. QString::operator==(((const char*)"")) && dirname'
ls.cpp:8: note: candidates are: operator&&(bool, bool) <built-in>
make: *** [ls.o] Error 1

Что бы это могло быть? Разве в Qt нет логического оператора && ? Если есть, то как надо написать, чтобы он работал?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 8.10.2008, 14:29
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(++Norton++ @ 8.10.2008, 15:21) *
Пишет следующее:
In file included from ls.cpp:2:
include/ddr.h:19:7: warning: no newline at end of file
ls.cpp:16:5: warning: no newline at end of file
ls.cpp: In member function 'void DDR::lsDir(QString, QString)':
ls.cpp:8: error: no match for 'operator&&' in 'param. QString::operator==(((const char*)"")) && dirname'
ls.cpp:8: note: candidates are: operator&&(bool, bool) <built-in>
make: *** [ls.o] Error 1

Что бы это могло быть? Разве в Qt нет логического оператора && ? Если есть, то как надо написать, чтобы он работал?

Конечно, есть! Лучше использовать конструкцию:
param.isEmpty() && dirname.isEmpty()


А вообще, возможно, забыли подключить <QString>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 8.10.2008, 14:46
Сообщение #3


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


А может не dirname="", а dirname=="" ;)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
++Norton++
  опции профиля:
сообщение 8.10.2008, 14:49
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 98
Регистрация: 5.10.2008
Пользователь №: 380

Спасибо сказали: 0 раз(а)




Репутация:   1  


Спасибо всем! Действительно, забыл подключить <QString>
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.3.2024, 15:15