相关疑难解决方法(0)

为什么我不需要在 C++20 中的依赖类型之前指定“typename”?

这段代码在 C++20(使用 gcc 10.1)中编译,typename在依赖类型之前没有使用关键字std::vector<T>::iterator。为什么要编译?

#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>;
}
Run Code Online (Sandbox Code Playgroud)

代码游乐场

c++ templates typename language-lawyer c++20

70
推荐指数
2
解决办法
3656
查看次数

标签 统计

c++ ×1

c++20 ×1

language-lawyer ×1

templates ×1

typename ×1