Как получить доступ к структуре из другого файла?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как получить доступ к структуре из другого файла?

Сообщение Anonymous »

У меня есть следующий код, и цель состоит в том, чтобы использовать переменную цвета в качестве двоичного флага в коде.
main.cpp

Код: Выделить всё

#include "turn.h"
#include 

void subfunc(Turns t) {
printf("%d\n", t);
}

void func() {
Turns colour = getTurn(&turn);
subfunc(colour);
}

int main() {
setTurn(&turn, WHITE);
func();
return 0;
}
turn.cpp[/b]

Код: Выделить всё

#include "turn.h"

extern Turn turn;

void setTurn(Turn *t, Turns newTurn) {
t->turn = newTurn;
}

Turns getTurn(Turn *t) {
return t->turn;
}

void changeTurn(Turn *t) {
if (t->turn == WHITE) {
t->turn = BLACK;
} else {
t->turn = WHITE;
}
}
turn.h

Код: Выделить всё

#ifndef TURN_H
#define TURN_H

enum Turns {WHITE, BLACK};

typedef struct {
Turns turn;
} Turn;

void setTurn(Turn *t, Turns newTurn);
Turns getTurn(Turn *t);
void changeTurn(Turn *t);

#endif
К сожалению, этот код выдает ошибку, сообщающую, что поворот не был объявлен в области main.cpp.

Подробнее здесь: https://stackoverflow.com/questions/791 ... other-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»