は、私たちは、私は演算子(または関数)を定義する方法をbool true = (P v Q) -> R
定義ブール論理演算子(V、^、XOR、 - >、<->は)
を持っていると言うので、そのシンボル(V、^、XOR、 - >、< - >)は、ロジックを実行する関数を呼び出しますか?
ので、例では:bool true = P v Q
、C++で任意の中置演算子を定義することはできません、あなたはまた、変数名として名true
を使用することはできませんbool or(bool a, bool b)
文字列では、パーサーが必要です。ソースコードでは、これはC++では実現不可能です。 – Quentin
あなたが何を求めているのかは不明です。 'bool true = P v Q'を文字列として取り、それを解析して' boolまたは(bool a、bool b) 'を呼び出す関数を実装する方法を尋ねていますか?もしそうなら、 'or'関数を呼び出すためにどのような値を使うべきですか?答えとどうしたらよいでしょうか? – gurka
有効な演算子をオーバーロードする必要があります。しかし、まず第一に、cで有効な演算子が誰であるかを知る必要があります。演算子 'v'は演算子ではありません。これを考慮してください:' true'は予約語です。このリンクを確認してください:http://en.cppreference.com/w/cpp/language/operators –