2015-02-22 6 views
0

Насколько я понимаю, защитники заголовка используются, чтобы избежать случайного включения нескольких раз. Однако, когда я включаю класс несколько раз, я все еще получаю ошибку переопределения. Не должны ли охранники заголовков позаботиться об этом? //animal.hОшибка определения переопределения типа класса с защитой заголовка C++

#ifndef ANIMAL_H 
#define AMIMAL_H 

class Animal {}; 

#endif 

//main.cpp

#include"animal.h" 
#include"animal.h" 

C2011 Ошибка: 'Animal': тип 'класс' переопределение

+0

Активный «сгенерировать предварительно обработанный файл», чтобы увидеть фактический вывод препроцессора. – harper

ответ

5
#ifndef ANIMAL_H 
#define AMIMAL_H 
     ^

Те Арен» t оба ANIMAL_H.

+0

Хорошо пятнистый. Я этого не видел, но тогда мое зрение не так уж хорошо. –