У меня есть файл с именем «SimpleFunctions.h», определенный следующим образом:
#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
Этот файл ранее был включен только в один файл, и он работал нормально.
Теперь я сегоднявключили его во второй файл, и он больше не работает.Во время ссылки он говорит мне, что функция уже определена в "firstfile.obj".
Однако, поскольку я использую include guard, я ожидал бы, что функции будут определены только один раз, или я пропустилчто-то?