无法将'Class::operator=='从"布尔"类型(类::)(类*)转换为"布尔"类型
Cannot convert 'Class::operator==' from type 'bool (Class::)(Class*) to type 'bool
我正在做一种方法来查看两张牌是否具有相同的数字或花色
这是我的重载运算符和我调用重载运算符的方法
bool Carta::operator==(Carta *c){
if(getNumCarta()==c->getNumCarta() || getNumPal()==c->getNumPal()){
return true;
}
else{
return false;
}
//return(numCarta==c->numCarta)||(numPal!==c->numPal);
}
bool Carta::operator!=(Carta *c){
if(getNumCarta()!=c->getNumCarta() && getNumPal()!=c->getNumPal()){
return true;
}
else{
return false;
}
}
bool Table::pairs(){
for(int i=1;i<posFull;i++){
if(t[i-1]->operator == t[i+1]){
return true;
}
}
return false;
}
我希望返回一个真实但永远不会发生
看来你的意思
是if(t[i-1]->operator ==( t[i+1]) ){
或者你可以写
if( *t[i-1] == t[i+1] ){
但是此运营商声明
bool operator==(Carta *c);
只会使代码的读者感到困惑。最好像这样声明运算符
bool operator ==( const Carta &c ) const;
并像使用它一样使用
if( *t[i-1] == *t[i+1] ){
相关文章:
- 在没有定义返回类型的函数中返回布尔值,并将结果保存在无错误的char编译中-为什么
- 创建类似于布尔值的变量类型
- C++:将值赋值给原始数据类型(例如布尔值)是原子操作吗?
- 如何创建两个具有相同名称和不同返回类型并基于布尔参数运行的函数
- 函数的返回值类型是别名 ***或 *** 布尔值
- C++ 这里有一个返回 (24) 的布尔返回类型函数
- 如何将值初始化为返回类型为布尔值的函数?
- 无法将'Class::operator=='从"布尔"类型(类::)(类*)转换为"布尔"类型
- 如何通过 mpi c++ 发送布尔数据类型?
- 整数在 C++ 中没有被类型转换为布尔值
- lambda 转换为布尔值,而不是推导函数指针类型
- 为什么C++ std::min_element 库函数接受采用布尔返回类型的函数对象的函子,而不是像 C 中那样的 in
- 返回类型布尔函数中的声明语法错误
- C++ 动态评估变量类型布尔值
- C++ 包含针对多种类型数据的布尔测试的模板会获得匹配错误
- 给定仅包含布尔类型成员的结构的两个对象 s1 和 s2,只要 s1 的成员为 true,请检查 s2 的每个成员是否为真
- 为什么当我将真或假分配给布尔类型的向量时,下面的程序给我错误?
- 函数概念返回类型(必须是布尔)
- 使用布尔值数组"表达式必须具有指向对象类型的指针"错误C++
- 为什么Visual C++ 2008在我(不小心)使用布尔类型时没有抱怨