Предположим, у меня есть main.cpp
, file.h
и file.cpp
.Где file.cpp
реализует все прототипы в file.h
, а main.cpp
включает file.h
.
Очень простая структура.Мне было интересно, если бы я объявил статическую глобальную переменную в main.cpp
, было бы возможно получить доступ к такой переменной при реализации всех функций в file.cpp
?С быстрой попыткой это не похоже на случай ... Я даже не могу скомпилировать его.
Но можно ли обойти это?
Просто чтобы уточнить, у меня есть
file.h:
#ifndef __FILE_H
#define __FILE_H
#include <iostream>
void my_func();
#endif
file.cpp
#include "file.h"
using namespace std;
void my_func() {
//do something with my_static_var
}
и main.cpp
#include "file.h"
static int my_var = 0;
int main(int argc, char** argv) {
my_func();
return 0;
}
Предположим, классы не задействованы