-1

尝试使用“==”和“!=”与字符串数组和字符进行比较时出现此错误。这是否意味着我需要做一些运算符重载?如果是这样,任何人都可以指出我如何做到这一点(或其他方法)的正确方向,因为我对运算符重载还不太熟悉。

bool legalMove(string list[][7], int row_start, 
    int column_start, int row_end,int column_end)
{
if(list[row_start][column_start] == 'S' && list[row_end][column_end] != ' ')
    {
        if((row_end == row_start + 1 && column_start == column_end) || 
            (row_start == row_end && (column_end == column_start + 1 
                || column_end == column_start  - 1)))
            {
                return true;
            }
            else
            {
                return false;
            }


    }
    else
    {
        return false;
    }
 }
4

1 回答 1

0

您正在使用 astd::string与 achar进行比较''。试试吧

if(list[row_start][column_start] == "S" && list[row_end][column_end] != " "){ }

如果您正在使用std::string,那是标准类型,您将无法重载operator==. 请参阅此处以获取有关std::string.

于 2013-03-29T20:02:47.580 回答