Создание глобальной структуры
Подскажите пожалуйста, можно ли создать глобально структуру, так, чтобы не нужно было в других файлах полностью прописывать внутренности структуры ?
Ну то есть, вот есть у меня к примеру пять .cpp файлов, условно в первом я объявляю структуру, в остальных четырех делаю extern и прописываю полностью внутренности структуры. Если вдруг внутренности структуры меняются, добавляется или удаляется какое то поле к примеру, то во всех остальных четырех файлах, нужно проделывать туже операцию, что, как бы не очень удобно.
#include <iostream>
#include <string>
struct my_struct
{
int my_int;
std::string my_string;
};
my_struct mystrct;
void my_func()
{
mystrct.my_int = 555;
}
h
#include <iostream>
#include <string>
extern struct my_struct
{
int my_int;
std::string my_string;
};
extern my_struct mystrct;
int main()
{
my_func();
std::cout << mystrct.my_int;
}
Вот можно ли, как то избежать прописывание тела структуры в остальных файлах кроме первоначального, где объявлялась структура ?