Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
#1

Ошибка в bool функции - C++

19.11.2012, 15:11. Просмотров 334. Ответов 2
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#define ADD_OBJ 2
#define ADD_SUB 4
#define DEL_OBJ 8
#define DEL_SUB 16
#define ADD_RIGHT 32
#define DEL_RIGHT 64
#define READ 2
#define WRITE 4
#define EXECUTE 8
#define DELETE 16
 
bool Matrix::check(int right, int k) //к-ключ. если 0 то проверка прав матрицы, если 1 то проверка прав общая
{
    if(k==1)
    {
        if(right & READ) return true;
        else if(right & WRITE) return true;
        else if(right & EXECUTE) return true;
        else if(right & DELETE) return true;
        else return false;
    }
    if(k==0)
    {
        if(right & ADD_OBJ) return true;
        else if(right & ADD_SUB) return true;
        else if(right & DEL_OBJ) return true;
        else if(right & DEL_SUB) return true;
        else if(right & ADD_RIGHT) return true;
        else if(right & DEL_RIGHT) return true;
        else return false;
    }
}
вызываю метод
C++
1
2
if(a.check(124,0)) //do something
else cout<<"нет доступа\n"
почему возвращает всегда истину? должно возвратить ложь
124 это сумма всех прав кроме добавления объекта(первого) 4+8+16+32+64
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 15:11     Ошибка в bool функции
Посмотрите здесь:

bool в параметрах функции C++
C++ Bool на с++
C++ BOOL B C++ =(
C++ Bool переменные - как записать таблицы истинности функции, используя цикл
Ошибка инициализации bool*** C++
Ошибка в программе (forcing value to bool 'true' or 'false' (performance warning) ) C++
C++ тип bool ошибка обработки
Создание шаблона bool-функции, принимающей в качестве параметра экземпляр класса C++
C++ Возврат функции bool от long
C++ Ошибка при использовании vector<bool>
Нестатическая ссылка в статичной (BOOL CALLBACK EnumWindowsProc) функции внутри класса C++
C++ Ошибка с типом данных bool

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
 Аватар для OhMyGodSoLong
1242 / 991 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.11.2012, 15:14     Ошибка в bool функции #2
124 & 4 == 4
4 != 0
if в строке 26 срабатывает
Tiva
94 / 94 / 1
Регистрация: 25.04.2012
Сообщений: 429
19.11.2012, 15:28  [ТС]     Ошибка в bool функции #3
тогда как сделать функцию проверки по правам надо? подскажите?

Добавлено через 54 секунды
и еще, как только в такой функции встречается return она прекращает работу и возвращает значение или идет до конца построчно?

Добавлено через 7 минут
а все сделал, фигня вопрос спасибо
Yandex
Объявления
19.11.2012, 15:28     Ошибка в bool функции
Ответ Создать тему
Опции темы

Текущее время: 03:29. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru