It sounds like you want a global variable:
Code:
// header1.h
#ifndef HEADER1_H
#define HEADER1_H
struct test {
double f;
};
extern test t;
#endif
Code:
// header2.h
#ifndef HEADER2_H
#define HEADER2_H
void foo();
#endif
Code:
// header1.cpp
#include "header1.h"
test t = {0};
Code:
// header2.cpp
#include "header1.h"
#include "header2.h"
void foo() {
t.f = 1.5;
}
Code:
// main.cpp
#include <iostream>
#include "header1.h"
#include "header2.h"
int main() {
foo();
std::cout << t.f << '\n';
return 0;
}