MSVC ++ is invalid. Base is a pattern, not a type.
Note that in the normal case, Base scanned in the Derived<T> , which means that it will first find the entered class name inherited from Base<T> , which is of type Base<T> . But since you have a dependent base class, the name inherited from Base<T> was not found (the scope of the base class is not considered).
source share