@Avery007

Возможно ли экспортировать шаблоны из dll?

Мне нужно реализовать класс Vector2 для разных типов, но писать вручную реализацию методов для каждого мне лень. Разумно было бы использовать шаблоны, но мне этот класс нужно экспортировать.
  • Вопрос задан
  • 197 просмотров
Пригласить эксперта
Ответы на вопрос 2
Можно, если инстанцировать шаблоны явно для заранее определённых типов, например:

template <typename T> struct Vector { ... };
template <typename T> void foo(Vector<T> &); // definition in cpp

template struct Vector<Point2d>;
template struct Vector<Point3d>;

template void foo<Point2d>(Vector<Point2d> &);
template void foo<Point3d>(Vector<Point3d> &);


Структуры Vector<Point2d> и Vector<Point3d> будут экпортированы.
Ответ написан
Комментировать
crackedmind
@crackedmind
web-developer
Нельзя такое делать.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы