2015-04-18 5 views
-5

Поэтому я не знаю, почему я получаю эту ошибку: «Ошибка: аргумент типа« цвет »несовместим с параметром типа« цвет (*) [2] »« на строке I, помеченнойПочему визуальный C++ дает мне эту ошибку?

#include <iostream> 

using namespace std; 

enum color{black, white}; 

bool negative(color a[2][2], color b[2][2]); 
void main(){ 

color a[2][2] = { { black, white }, { white, black } }; 
color b[2][2] = { { white, black }, { black, white } }; 
negative(a[2][2], b[2][2]); //<==== here (under "a" and "b") 

} 

bool negative(color a[2][2], color b[2][2]){ 
int False=0, True=0; 
    for (int i = 0; i < 2; i++){ 
    for (int j = 0; j < 2; j++){ 
     if (a[i][j] != b[i][j]) True++; 
     else False++; 
    } 
} 
    if (True == 2 && False == 0)return true; 
    else if (True == 0 && False == 2)return false; 

} 
+0

, пожалуйста, пожалуйста, напишите лучший заголовок. Я просто обычно пропускаю вопросы, которые называются без названия. –

+3

Вызвать свою функцию следующим образом: 'negative (a, b);' –

+0

спасибо, ребята, за ответы – F15h

ответ

0

negative функция принимает массив массивов color аргументов, но вы передаете одно значениеcolor, тот, который из-за диапазона массивов, а также.

Позвоните в

negative(a, b); 

Я предлагаю вам вернуться к вашей книге или учебник и узнать больше о массивах.

0

Ваша проблема заключается в том, что вы должны передавать массив, но вместо этого вы пытаетесь передать элемент (который даже не существует).

Когда вы

a[2][2] вы охарактеризовали третий ряд, третий столбец (если вы думаете о 2d массива в виде таблицы) элемент массива.

negative(a,b) 

- это то, что вы, вероятно, захотите сделать.

Смежные вопросы