Читаю книгу Страуструпа и застопарился на одной задаче. Ближе к делу. Имеется три файла: my.h; my.cpp; use.cpp
Содержимое my.h:
extern int foo;
void print_foo();
void print(int);
Содержимое my.cpp:
#include <iostream>
#include "my.h"
using namespace std;
void print_foo(){
cout << "foo: " << foo << endl;
return;
}
void print(int i){
cout << "i: " << i << endl;
return;
}
Содержимое use.cpp:
#include <iostream>
#include "my.h"
using namespace std;
int main(int argc, char *argv[])
{
int foo = 7;
print_foo();
print(99);
return 0;
}
Так вот вопрос. Почему функция print_foo (в определяющем файле) не видит переменную, которую я описал в main()? И как это исправить?