Повторяющиеся символы с реализацией только заголовка [дубликат]C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Повторяющиеся символы с реализацией только заголовка [дубликат]

Сообщение Anonymous »

У меня есть класс C++, который объявлен и реализован в заголовочном файле. Я выбрал это, потому что невозможно легко переключаться между сборками Debug и Release из-за _GLIBCXX_DEBUG и предварительно скомпилированных библиотек. Например, если я определю _GLIBCXX_DEBUG, Boost выйдет из строя из-за изменений ABI в исходных файлах.

Реализация только заголовка создала проблему с повторяющимися символами. . Например, в приведенном ниже классе оператор == и обмен нечленами будут создавать несколько определенных символов.

Код: Выделить всё

// Foo.hpp
namespace Bar
{
template
class Foo
{
...
};

bool operator==(const Foo& a, const Foo& b) {
..
}
}

namespace std
{
template 
void swap(Bar::Foo& a, Bar::Foo& b)
{
a.swap(b);
}
}
Когда декларация и реализация были разделены, файлы (Foo.hpp и Foo.cpp) скомпилировались и скомпоновались нормально.

Что нужно сделать, чтобы это правильно скомпилировать и скомпоновать?

Подробнее здесь: https://stackoverflow.com/questions/134 ... ementation
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»