1). Is the code below valid C ++ relative to the C ++ 14 standard?
Yes, as far as I can tell. This is sometimes difficult to prove, because often it simply prohibits nothing. However, we can see an example in a recent project (post-N4296), [dcl.spec.auto] / 13:
template <typename T> auto g(T t) { return t; }
template auto g(int);
template char g(char);
template<> auto g(double);
The same paragraph shall indicate:
, , , .
, .
, . , ++ 98 ( ) , . , , , .
3). , , () ++ 11?
OP ++ 11. (non-lamdas) - , ++ 14. , , . , () . [intro.compliance]/2.2:
[...], .
/8
( ) , . , , . , , .
( , .)
g++ 4.8.3 , . g++ 4.9 , . . -Werror, g++ 4.8.3, . ( gcc, .)