В настоящее время я работаю над рудиментарным симулятором для игры Boggle, и прямо сейчас я дошел до того, что мне нужно использовать указатели на объект в вызове функции. Тем не менее, я не уверен, как это сделать, и до сих пор мой поиск на этом сайте и в других местах не оказался плодотворным, поскольку, как я видел, вопросы не касались указаний на объекты. Ниже приведен мой код для функции, вызываемой из класса, инициализации объектов и моих попыток вызова функций. Функция setAdjacency находится в классе boggleNode.Использование указателей на объекты в качестве аргументов функции
void setAdjacency(boggleNode * topleft = NULL, boggleNode * top = NULL, boggleNode * topright = NULL,
boggleNode * left = NULL, boggleNode * right = NULL, boggleNode * botleft = NULL, boggleNode * bot = NULL, boggleNode * botright = NULL){
adjacency[0] = topleft;
adjacency[1] = top;
adjacency[2] = topright;
adjacency[3] = left;
adjacency[4] = right;
adjacency[5] = botleft;
adjacency[6] = bot;
adjacency[7] = botright; //For keeping track of which nodes are adjacent to which other ones.
}
Эти частные переменные в boggleNode:
private:
boggleNode * adjacency[8];
char letter;
bool isUsed;
"Совет" определяется следующим образом:
boggleNode * board = new boggleNode[16];
И, наконец, здесь, где я пытаюсь вызвать функцию смежности в моей основной функции:
board[0].setAdjacency(board[1], board[4], board[5]);
Я знаю, что в настоящее время аргументы в вызове этой функции являются ссылками, в то время как они должны быть указателями в определении функции. Как получить правильный вызов функции и определение функции?
У вас есть ошибка компилятора, которую вы можете отправить? – pdel
'Я знаю, что в настоящее время аргументы в этом вызове функции являются ссылками. Я не вижу ссылок в этом вызове. Вы передаете экземпляры 'boggleNode'. Может быть, вы путаетесь с 'Java'? – PaulMcKenzie