1122 У этого много проблем. Прежде всего, color
является переменной-членом, это не функция, поэтому вы должны удалить скобки. У этого также есть проблема дизайна. Что это значит, назначая один цвет всего объекта платы? И прежде чем все это, a [i] [j] имеет тип int
, у него нет свойства, называемого color
. Вы можете обойти это, сделав массив boardSpace
типа bool
и протестировав его значение.
Во-вторых, параметр метода printBoard
не тот, о котором вы думаете. функция ожидает многомерного массива, который содержит board
объектов. и это не то, что вы хотите. Это функция-член, поэтому она может напрямую обращаться к члену boardSpace
. поэтому он не должен получать никаких параметров и печатать сам boardSpace
следующим образом: if(boardSpace[i][j] == true)
В-третьих, ваши циклы for имеют очень большую и распространенную ошибку. Подсчет в C ++ начинается с 0. Таким образом, вы оставляете первый индекс в каждом массиве. Вы должны ранжировать циклы от 0 до less than
8. [0, 8).
Если вы хотите считать от одного, вы должны определить свои массивы, чтобы иметь еще один элемент, 9
элементы в каждом массиве позволили бы вам считать от одного, но вы будете тратить одну ячейку в каждом массив не используется.
Как я уже сказал, нелогично иметь один color
для всей доски, поэтому член color
не нужен. но если вы находитесь в ситуации, когда нужно вернуть что-то подобное, например, цвет одной ячейки, вы можете использовать bool
, чтобы просто вернуть true
или false
в зависимости от его цвета. Кроме того, функция getColor()
ожидает параметр типа board
. Это не правильно. Это опять-таки функция-член. он может получить доступ к объекту, в который я внёс некоторые изменения в ваш код, теперь он работает, я думаю, так, как вы этого хотите. https://ideone.com/dLRKPv
Вы можете взять компонент COM, который использует Google Diff / Patch / Match . Работает с .NET.
Обновление, 17 октября 2010 г. : Код Google Diff / Patch / Merge перенесен на C #. Компонент COM по-прежнему работает, но если вы работаете с .NET, вам нужно напрямую использовать порт .NET.
Gitsharp включает в себя дифференциальный двигатель на основе Diff Meyers. Взгляните на демо, которое реализует простые WPF Vief Viewer на основе коллекции diff.sections: http://www.eqqon.com/index.php/gitsharp#gitsharp.demo