-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

を使用しstd::stringて aと a を比較しています。代わりに試すchar''

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

を使用している場合std::string、それは標準型であり、operator==. については、こちらを参照してくださいstd::string

于 2013-03-29T20:02:47.580 に答える