Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/137.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 相当于;typename";,表明受抚养人姓名确实是';模板参数';_C++_Templates_C++11_Dependent Name - Fatal编程技术网

C++ 相当于;typename";,表明受抚养人姓名确实是';模板参数';

C++ 相当于;typename";,表明受抚养人姓名确实是';模板参数';,c++,templates,c++11,dependent-name,C++,Templates,C++11,Dependent Name,我们将找不到正确语法的部分代码缩减为一个最小的示例 让我们假设以下定义(不用担心“为什么”;) 但是,在以下情况下,当提供给客户机的模板参数是从属名称时,我们无法找到正确的语法: template <class T> void templatedFun() { Client<TemplatedProvider<T>::element_template> client; } 我们可以修复此语法吗?它必须是: template <class T&g

我们将找不到正确语法的部分代码缩减为一个最小的示例

让我们假设以下定义(不用担心“为什么”;)

但是,在以下情况下,当提供给
客户机的模板参数是从属名称时,我们无法找到正确的语法:

template <class T>
void templatedFun()
{
    Client<TemplatedProvider<T>::element_template> client;
}
我们可以修复此语法吗?

它必须是:

template <class T>
void templatedFun()
{
    Client<TemplatedProvider<T>::template element_template> client;
}
模板
void templatedFun()
{
客户;
}

您可以使用
模板
关键字:

template <class T>
void templatedFun()
{
    Client<TemplatedProvider<T>::template element_template> client;
}
模板
void templatedFun()
{
客户;
}
有关
模板
typename
关键字的详细讨论,请参阅

template argument for template template parameter must be a class template or type alias template
template <class T>
void templatedFun()
{
    Client<TemplatedProvider<T>::template element_template> client;
}
template <class T>
void templatedFun()
{
    Client<TemplatedProvider<T>::template element_template> client;
}