"=="및 "! ="을 사용하여 문자열 배열 및 char과 비교하려고 할 때이 오류가 발생합니다. 이것은 연산자 오버로딩을해야한다는 것을 의미합니까? 만약 그렇다면, 나는 연산자 오버로딩에 너무 익숙하지 않기 때문에 누구나 (또는 다른 방법으로) 그것을 수행하는 방법에 대한 올바른 방향으로 나를 가리킬 수 있습니까?"연산자 =="2 차원 배열로 작업 중 오류 일치 얻기
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;
}
}
'string'을'char'와 비교하려고 할 수 있습니다. – jonhopkins
문자열은 문자 배열 일 뿐이지 만 아니요? 따라서 주어진 시간에 list [x] [y]는 char와 같습니다. 아니면 틀린가? – DiamonW
문자열은 문자 배열과는 다른 문자 배열입니다. 당신은 당신의 가정에 가깝지만 실제로 그것은 'list [x] [y] [z]'입니다. 따라서 두 가지 방법으로 코드를 변경할 수 있습니다. 작은 따옴표를 큰 따옴표로 바꾸거나'list [row_start] [column_start] [0] == 'S'&& list [row_end] [column_end] [0]! = ''' – jonhopkins