Fonction déjà définie erreur en C++

J'ai un fichier appelé "SimpleFunctions.h" définis comme suit:

#ifndef SIMPLEFUNCTIONS_H
#define SIMPLEFUNCTIONS_H

namespace my_namespace {

double round(double r) { return (r > 0.0) ? floor(r + 0.5) : ceil(r - 0.5); }
float round(float r) { return round((double)r); }

}

#endif //SIMPLEFUNCTIONS_H

Ce fichier a déjà été inclus dans un seul fichier et ça marchait très bien.

Maintenant, aujourd'hui, je l'ai incluse dans un deuxième fichier et il ne fonctionne plus. Au moment de la liaison, il me dit que la fonction est déjà défini dans "firstfile.obj".

Cependant, depuis que je suis en utilisant inclure des gardes, je m'attendrais à l'exercice de la fonction définie qu'une seule fois, ou j'ai loupé quelque chose?

OriginalL'auteur this.lau_ | 2011-08-06