Выполняет ли объявление «using type = type;» изменить значение типа? [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
Выполняет ли объявление «using type = type;» изменить значение типа? [дубликат]

Сообщение Anonymous »

В следующем примере gcc выводит предупреждение. clang прекрасно это воспринимает. Кто прав?
С моей точки зрения, type был псевдонимом для int до using-declaration, и так оно и есть до сих пор. псевдоним для int в полном контексте класса. Поэтому я ожидаю, что смысл не изменится.

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

using  type = int;

struct Test
{
using type = type;  // gcc: declaration of 'using Test::type = using type = int' changes meaning of 'type'
};

void foo(Test::type);
Или это одна из ситуаций, когда «диагностика не требуется»?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ng-of-type

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