Является ли законным в C++ объявлять одно и то же имя using
псевдоним несколько раз? У меня есть библиотека шаблонов, где один заголовочный файл используется как «общедоступный» - он содержит все объявления классов классов и псевдонимов, а затем файлы «реализации» (не в буквальном смысле, они содержат определения классов шаблонов). Открытый файл заголовка включает все заголовки реализации в конце.C++ несколько определений псевдонима 'using'
Невозможно включить общий заголовок из файла реализации, поскольку это вызовет циклическую зависимость. Тем не менее, я хочу использовать псевдонимы шаблонов, объявленные в файле заголовка внутри файла реализации.
Пример:
'общественность' заголовок:
using true_type = logical_constant<true>;
using false_type = logical_constant<false>;
'частные' файлы реализации:
using true_type = logical_constant<true>;
using false_type = logical_constant<false>;
Пока оба с использованием псевдонимов псевдонима же, это законно? Этот простой пример работал для меня в MSVC 14, но когда я пытался использовать более сложные псевдонимы одинаково, компилятор жаловался.
Можете ли вы привести пример «более сложных псевдонимов» и точную жалобу, предоставленную вашим компилятором? – kdelaney
Пожалуйста, предоставьте [mcve] фактического кода проблемы. – Barry