最近我偶然发现了这样一段代码:
template <typename Ta> template <typename Tb>
void SomeClass<Ta>::Function() {}
Run Code Online (Sandbox Code Playgroud)
有模板函数,但它有奇怪的语法,我不太明白。它有什么作用?它在附近template<template<typename Ta>>吗?
我从来没有遇到过这样的语法,我很困惑。
for*_*818 11
有时它只需要一个完整的例子:
template <typename Ta>
struct SomeClass {
template <typename Tb>
void Function();
};
template <typename Ta> template <typename Tb>
void SomeClass<Ta>::Function() {}
int main() {
SomeClass<int> sc;
sc.Function<double>();
}
Run Code Online (Sandbox Code Playgroud)
它是类模板的方法模板的定义。