Добавить включить охранники во все ваши файлы заголовков *.h
или *.hh
(если у вас нет особых причин не делать этого).
Чтобы понять, что происходит, попробуйте получить предварительно обработанную форму ваш исходный код. С GCC это нечто вроде g++ -Wall -C -E yourcode.cc > yourcode.i
(я не знаю, как это делают компиляторы Microsoft). Вы также можете спросить, какие файлы включены, с GCC как g++ -Wall -H -c yourcode.cc