Хотя, в предыдущем комментарии есть неточность. Это не связано с базовыми типами (типа int, short и т.п.). Class - это создаваемый тип пользователем. В этом случаи, тут имеет место ошибка связанная с типом.
У вас заголовочный файл, скорее всего, включен в несколько других файлов и при компиляции он добавляется в них. Линковщик видит один и тот же class в разных obj-файлах и не знает, что делать. Он не может собрать их в один, т.к. не знает какой использовать. По этому и возникают ошибки...
Настроив проект или использовав extern вы говорите линковщику использовать class только один раз, при первом упоминании (если не ошибаюсь). Конфликт ликвидируется...
Ну что-то в этом духе...