Опции Clang / g ++ для создания шаблона

Я ищу вариант компилятора на g ++ / clang ++ для управления экземплярами методов в явных экземплярах.

Предположим, у меня есть шаблон класса Foo<T> с какой-то явной реализацией

template Foo<int>;

Я хочу включить создание экземпляров всех открытых методов. Это не похоже на значение по умолчанию, так как мне приходится добавлять экземпляры вручную для всех участников, чтобы избежать ошибок ссылок;

template void Foo<int>:DoStuff(int);
template int Foo<int>:GetSomeStuff();

1

Решение

Вы можете создать экземпляр каждого метода по отдельности или создать все экземпляры для класса. Кажется, ты хочешь сделать последнее, но нотация, которую ты попробовал, неверна. Правильный это:

template class Foo<int>;

(при условии, Foo объявлен как class; если он объявлен как struct вы бы использовали struct ключевое слово вместо).

2

Другие решения


По вопросам рекламы ammmcru@yandex.ru
Adblock
detector