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

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

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

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

19.11.2012, 15:11. Просмотров 351. Ответов 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
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2012, 15:11
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ошибка в bool функции (C++):

Возвращение результата функции bool и использование его в функции main() - C++
У меня есть функция bool, которая имеет вид: bool Pisos(int row, int place) { if (...) return true; else return false;...

не работает bool xor(bool a, bool b) - C++
Учусь по &quot;Базовому курсу&quot; Герберта Шилда #include &lt;iostream&gt; bool xor(bool a, bool d); int main() { bool p, q; cout...

bool в параметрах функции - C++
можно ли использовать тип bool в параметрах функции? void draw(char ch, int width, bool vline, bool hline ); или лучше использовать...

Изменить значение bool a = true в bool a = false - C++
// Логическое выражения - варианты #include &lt;iostream&gt; #include &lt;conio.h&gt; using namespace std; int main() { ...

Возврат функции bool от long - C++
при внесении в tl числа состоящего из более чем 10 цифр, программа входит в бесконечный цикл, состоящий из этой функции bool ChNumb (long...

Ошибка инициализации bool*** - C++
Я, похоже, совершенно не разбираюсь в указателях, так что еще один глупый вопрос: где ошибка? bool*** result_array = new...

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

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

Добавлено через 7 минут
а все сделал, фигня вопрос спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.11.2012, 15:28
Привет! Вот еще темы с ответами:

как правильно понять тип bool ? bool true(const string &str) и что дает это значение ? - C++
задам может глупый вопрос, но прошу ответить. как правильно понять тип bool ? bool true(const string &amp;str) и что дает это...

Ошибка с типом данных bool - C++
Помогите разобрать ошибку, суть следующая есть массив use, который помечает куда записывались переменные, если массив use типа bool то...

тип bool ошибка обработки - C++
при вводе любого значения отличного от 0 или 1 тело в условии выполняется, т.е. введённое число 100 в type генерирует исключение: bool...

Ошибка при использовании vector<bool> - C++
Текст ошибки (Visual studio 2013): Ошибка 2 error C2440: return: невозможно преобразовать...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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