Сообщение Re[10]: std::variant для вложенного класса от 05.12.2025 17:05
Изменено 05.12.2025 17:24 rg45
Re[10]: std::variant для вложенного класса
Здравствуйте, B0FEE664, Вы писали:
BFE>
Не понял я что ты хотел сказать этим примером. Замени здесь классы на пространства имен получить ровно то же самое. И как это иллюстриует неполноту вложенного класса после его определения?
BFE>
BFE>using value_type = float;
BFE>struct A
BFE>{
BFE> struct B
BFE> {
BFE> value_type n = 0;
BFE> };
BFE> using value_type = int;
BFE>};
BFE>Не понял я что ты хотел сказать этим примером. Замени здесь классы на пространства имен получить ровно то же самое. И как это иллюстриует неполноту вложенного класса после его определения?
Re[10]: std::variant для вложенного класса
Здравствуйте, B0FEE664, Вы писали:
BFE>
Не понял я что ты хотел сказать этим примером. Замени здесь классы на пространства имен получить ровно то же самое. И как это иллюстриует неполноту вложенного класса после его определения?
По сути ты демонстрируешь следующее:
Как это относится к обсуждаемой проблеме?
А gcc на твой пример вообще плюнется ошибкой: "declaration of 'using A::value_type = int' changes meaning of 'value_type'".
BFE>
BFE>using value_type = float;
BFE>struct A
BFE>{
BFE> struct B
BFE> {
BFE> value_type n = 0;
BFE> };
BFE> using value_type = int;
BFE>};
BFE>Не понял я что ты хотел сказать этим примером. Замени здесь классы на пространства имен получить ровно то же самое. И как это иллюстриует неполноту вложенного класса после его определения?
По сути ты демонстрируешь следующее:
using value_type = float;
struct A
{
static_assert(std::same_as<float, value_type>);
using value_type = int;
static_assert(std::same_as<int, value_type>);
};Как это относится к обсуждаемой проблеме?
А gcc на твой пример вообще плюнется ошибкой: "declaration of 'using A::value_type = int' changes meaning of 'value_type'".