Если вам нужен доступ к void player_action()
из нескольких частей вашей программы, вы должны создать заголовочный файл myapi.h
, который содержит следующее:
//myapi.h
#ifndef MYAPI_HEADER
#define MYAPI_HEADER
void player_action(int x, int y, int mode);
/* more function declarations */
#endif
Файл, который определяет функцию, будет выглядеть следующим образом:
//player.cpp
#include "myapi.h"
void player_action(int x, int y, int mode)
{
/*...*/
}
и файл, который его использует, будет выглядеть так:
//main.cpp
#include "myapi.h"
void GameCycle()
{
/*...*/
player_action(0,0,0);
/*...*/
}
Никогда не включайте определения объектов с #include, если вы не знаете, что делаете.И даже если вы знаете, вы должны дважды подумать, прежде чем делать это.Всегда используйте include guards (#ifndef ... #define .. #endif) - это предотвратит многократное включение вашего заголовка.
Это основные рекомендации.Я видел хорошее объяснение таких вещей в книге Б. Страуструпа «Язык программирования C ++»