Wydaje mi się, że jest to problem bardziej teoretyczny dlatego nie podałem kodu. Błąd występuje chociażby dla takiego uproszczonego programu:
plik main.c
#include <iostream>
#include "lista.h"
int main()
{
return 0;
}
plik lista.h:
#ifndef LISTA_H_INCLUDED
#define LISTA_H_INCLUDED
struct lista
{
int key;
struct lista *next;
};
lista *first;
#endif
Żadnych zmiennych w plikach nagłówkowych! A błąd stąd że nie masz w tym nagłówku strażnika nagłówka zapewne.
Hmm... a jeśli chciałbym mieć zmienną globalną, do której bym miał dostęp w kilku plikach? jak to wykombinować?
przez strażnika miałeś na myśli sprawdzenie czy nagłówek został już raz dołączony do pliku?