Я знаю, что явные объявления экземпляров подавляют следующие неявные экземпляры. Но что, если существует только явное определение экземпляра? Подавляет ли оно также следующие неявные инстанциации?
Например:
#include <vector>
template class std::vector<int>; // Explicit template instantiation definition.
int main() {
std::vector<int> a; // Implicit instantiation.
}
Подавляет ли явное определение экземпляра шаблона неявную реализацию, которая следует? Я знаю, что неявная реализация будет подавлена, если я сделаю явное определение в объявлении, добавив extern
ключевое слово.
Задача ещё не решена.
Других решений пока нет …