76 votes

Pourquoi n'ai-je pas besoin de spécifier "typename" avant un type dépendant en C++20 ?

Ce morceau de code compilé en C++20 (à l'aide de gcc 10.1) sans utiliser le typename avant le type dépendant std::vector<T>::iterator . Pourquoi compile-t-il ?

 #include <vector>

template<typename T>
std::vector<T>::iterator // Why does this not require "typename" before it?
f() { return {}; }

int main() {
    auto fptr = &f<int>;
}

aire de jeux de code

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X