Date: Thu, 18 Jul 2019 20:04:22 +0300
Thanks. Yes I mean the draft.
Bur I do not understand why the specialization for A<char> is ill format for the unscoped enumeration.
With best regards,
(Vlad from Moscow)
You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com
>Четверг, 18 июля 2019, 18:55 +03:00 от Brian Bi < bbi5291_at_[hidden] >:
>
>By "C++20" I assume you mean the working draft?
>
>It seems your copy-paste somehow omitted some template arguments. See the correct version below, and also here
>
>template<class T> struct A {
> enum E : T;
> enum class S : T;
>};
>template<> enum A<int>::E : int { eint }; // OK
>template<> enum class A<int>::S : int { sint }; // OK
>template<class T> enum A<T>::E : T { eT };
>template<class T> enum class A<T>::S : T { sT };
>template<> enum A<char>::E : char { echar }; // ill-formed, A<char>::E was instantiated
> // when A<char> was instantiated
>template<> enum class A<char>::S : char { schar };
>
>On Thu, Jul 18, 2019 at 10:49 AM Vladimir Grigoriev via Std-Discussion < std-discussion_at_[hidden] > wrote:
>>In the p.#7 of the section 13.8.3 Explicit specialization of the C++ 20 there is the following example
>>
>>template <class T> struct A {
>> enum E : T;
>> enum class S : T;
>>};
>>
>>template<> enum A::E : int { eint }; // OK
>>template<> enum class A::S : int { sint }; // OK
>>template<class T> enum A<T>::E : T { eT };
>>template<class T> enum class A<T>::S : T { sT };
>>template<> enum A::E : char { echar }; // ill-formed, A::E was instantiated // when A was instantiated
>>template<> enum class A::S : char { schar }; // OK
>>
>>It is unclear why
>>
>>template<> enum A::E : char { echar };
>>
>>was already instantiated.
>>
>>Is it because
>>
>>template<> enum A::E : int { eint }; // OK
>>
>>was already instantiated?
>>
>>With best regards
>>(Vlad from Moscow)
>>
>>You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com --
>>Std-Discussion mailing list
>>Std-Discussion_at_lists.isocpp.org
>>http://lists.isocpp.org/mailman/listinfo.cgi/std-discussion
>
>
>--
>Brian Bi
----------------------------------------------------------------------
Bur I do not understand why the specialization for A<char> is ill format for the unscoped enumeration.
With best regards,
(Vlad from Moscow)
You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com
>Четверг, 18 июля 2019, 18:55 +03:00 от Brian Bi < bbi5291_at_[hidden] >:
>
>By "C++20" I assume you mean the working draft?
>
>It seems your copy-paste somehow omitted some template arguments. See the correct version below, and also here
>
>template<class T> struct A {
> enum E : T;
> enum class S : T;
>};
>template<> enum A<int>::E : int { eint }; // OK
>template<> enum class A<int>::S : int { sint }; // OK
>template<class T> enum A<T>::E : T { eT };
>template<class T> enum class A<T>::S : T { sT };
>template<> enum A<char>::E : char { echar }; // ill-formed, A<char>::E was instantiated
> // when A<char> was instantiated
>template<> enum class A<char>::S : char { schar };
>
>On Thu, Jul 18, 2019 at 10:49 AM Vladimir Grigoriev via Std-Discussion < std-discussion_at_[hidden] > wrote:
>>In the p.#7 of the section 13.8.3 Explicit specialization of the C++ 20 there is the following example
>>
>>template <class T> struct A {
>> enum E : T;
>> enum class S : T;
>>};
>>
>>template<> enum A::E : int { eint }; // OK
>>template<> enum class A::S : int { sint }; // OK
>>template<class T> enum A<T>::E : T { eT };
>>template<class T> enum class A<T>::S : T { sT };
>>template<> enum A::E : char { echar }; // ill-formed, A::E was instantiated // when A was instantiated
>>template<> enum class A::S : char { schar }; // OK
>>
>>It is unclear why
>>
>>template<> enum A::E : char { echar };
>>
>>was already instantiated.
>>
>>Is it because
>>
>>template<> enum A::E : int { eint }; // OK
>>
>>was already instantiated?
>>
>>With best regards
>>(Vlad from Moscow)
>>
>>You can meet me at http://cpp.forum24.ru/ or www.stackoverflow.com or http://ru.stackoverflow.com --
>>Std-Discussion mailing list
>>Std-Discussion_at_lists.isocpp.org
>>http://lists.isocpp.org/mailman/listinfo.cgi/std-discussion
>
>
>--
>Brian Bi
----------------------------------------------------------------------
Received on 2019-07-18 12:06:20