On 22.12.2016 18:29, Stefan Ram wrote:
> "Alf P. Steinbach" <
alf.p.stein...@gmail.com> writes:
>> But amazingly your example code does compile with both g++ and MSVC.
>
> I am usually programming against the latest draft, if possible,
> and this contains:
>
> template <class T = void> struct multiplies;
> template <> struct multiplies<void>;
>
> . I never really learned templates, but superficially it
> resembles a default type of »void«.
Oh, I only looked at C++11.
There's so much, I'd call it idiocy, in the C++17 drafts, and will be in
that standard.
And it's not just that it's so meaningless and impractical from the
developer point of view, it's so /arbitrary/, so /unpredictable/,
apparently in support of internal details in some implementation. One
can no longer use common sense to predict what the official language is.
It started for real with C++14 but it's so much worse now.
I apologize for having disinformed you.
I should have qualified very strongly that I was referring to C++11. I
shall strive to do so in the future. Thank you!
Cheers!,
- Alf