Tas*_*lis 0 c++ boolean function xor
我试图创建一个XOR运算符,但由于未知原因,我的编译器不接受bool xor()
该函数,它也不允许我调用它或以任何可能的方式使用它。
我想指出的是,我正在学习一本书来学习C ++。具体地说,它是Herbert Schildt(第3版)的“从头开始学习C ++”。本书中引用了这段代码。
如果我将函数命名为bool xar()
或bool XOR()
,我的代码就可以正常工作,但是由于我正在尝试学习C ++,所以我想对为什么会发生此错误有所了解。
#include <iostream>
using namespace std;
bool xor(bool a, bool b);
int main()
{
bool q, p;
cout << "Enter Q (0 or 1): ";
cin >> q;
cout << "Enter P (0 or 1): ";
cin >> p;
cout << "Q AND P: " << (q && p) << '\n';
cout << "Q OR P: " << (q || p) << '\n';
cout << "Q XOR P: " << xor(q, p) << "\n";
cout << "nice";
return 0;
}
bool xor(bool a, bool b)
{
return (a || b) && !(a && b);
} ```
// The error message i receive is from the lines:
// ---------------------------
// bool xor(bool a, bool b);
// *expected an identifier*
// ---------------------------
// cout << "Q XOR P: " << xor(q, p) << "\n";
// *expected an expression*
// ---------------------------
// bool xor(bool a, bool b)
// *expected an identifier*
Run Code Online (Sandbox Code Playgroud)