我有一个 logicAND 类,构造函数应该评估两个布尔值的 AND 操作,它是这样工作的:
class logicAND{
public:
logicAND(bool a,bool b):value(a&&b){}
bool output(){return value;}
private:
bool value;
};
int main(){
bool m=false;
bool n=true;
logicAND t1(m,n);
t1.output();
}
然后,我在课前添加了一些旧式宏:
typedef enum { False = 0, True = 1 } Bool;
#define bool Bool
#define true True
#define false False
class logicAND{
public:
logicAND(bool a,bool b):value(a&&b){}
bool output(){return value;}
private:
bool value;
};
int main(){
bool m=false;
bool n=true;
logicAND t1(m,n);
t1.output();
}
现在我不能让它工作了。似乎主要问题在于构造函数类型不匹配。
感谢指出陷阱,原因和解决方案。谢谢!