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

не работает bool xor(bool a, bool b) - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переписать в массив Y элементы массива Х с непарными номерами http://www.cyberforum.ru/cpp-beginners/thread373247.html
1)Даный масив Х(100). Переписать в масив Y елементы масиву Х з непарными номерами, а в масив Z -елементы масива X, значення каких кратны п'яти. 2)Дана матрица В и мaсив x,x,...,x, где x>0. Знайти отдельное для кождого столбца суму додатних елементов, но меншых за соответствуище значению x. Результаты запомнить у масив y, y,...,y.
C++ Задача на перестановку операция сложегия, вычитания. инкремента и т.д. Есть код: #include<iostream> using namespace std; int main() { int a,b=20; for(a=0,a<b;a--) http://www.cyberforum.ru/cpp-beginners/thread373246.html
Обработка текстовых файлов C++
Помогите написать программу для заданного файла удалить все строки, яки начинаются с "*". Результат сохранить в том же файли. незнаю как удалить строку из файла
Подсчитать количество (неупорядоченных) троек точек C++
На плоскости заданы множество точек М и точка DÏМ. Подсчитать количество (неупорядоченных) троек точек А, В, СÎ М таких, что четырехугольник АВСD является параллелограммом. 3.2 Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и т.п.
C++ массив http://www.cyberforum.ru/cpp-beginners/thread373227.html
задана последовательность целых чисел. введите эту последовательность , удалив из нее все повторяющиеся элементы
C++ Определить номер строки матрицы с наименьшей характеристикой Характеристикой строки целочисленной матрицы назовем сумму ее элементов c четными номерами столбцов. Определить номер строки с наименьшей характеристикой. { int n, m; cout<<"n = "; cin>>n; cout<<"m = "; cin>>m; int** matr = new int*; time_t t; srand((unsigned) time(&t)); подробнее

Показать сообщение отдельно
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
28.10.2011, 20:48     не работает bool xor(bool a, bool b)
neske, alkagolik, проблема не в этом.
Макросы дейстувуют от точки объявления и до конца единицы трансляции (или undef'a), потому как препроцессор ничего не знает о пространствах имен, классах и т.д. он просто работает с текстом.
Такой код вызывает прежнюю ошибку:
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
#include <iostream>
using std::cout;
using std::cin;
 
bool xor(bool a, bool b);
 
int main()
{
    bool p, q;
 
    cout << "Enter P (0 ili 1): ";
    cin >> p;
    cout << "Enter Q (0 ili 1): ";
    cin >> q;
    cout << "P and Q: " << (p && q) << '\n';
    cout << "P ili Q: " << (p || q) << '\n';
    cout << "P XOR Q: " << Xor(p, q) << '\n';
    return 0;
}
 
bool xor(bool a, bool b)
{
    return (a || b) && !(a && b);
}
а такой работает
C++
1
2
3
4
5
6
7
8
9
10
namespace ns {
    #define plus +
    int n = 11 plus 38;
}
 
int main()
{
    int b = 1 plus 2;
    return 0;
}
 
Текущее время: 22:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru