Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/157.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/0/mercurial/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++ 在定义之前声明未定义的std::函数的目的是什么?_C++_C++11 - Fatal编程技术网

C++ 在定义之前声明未定义的std::函数的目的是什么?

C++ 在定义之前声明未定义的std::函数的目的是什么?,c++,c++11,C++,C++11,如前所述,std::function的实现是在定义之前声明一个未定义的std::function。申报的目的是什么?它与模板变量类有关吗?此定义用于允许类的专门化。所以,如果你想申报 std::function<ClassType> function; std::函数; 您会得到编译时错误,这意味着未定义此参数的std::function,它仅为std::function定义此定义用于允许类的专门化。所以,如果你想申报 std::function<ClassType>

如前所述,
std::function
的实现是在定义之前声明一个未定义的
std::function
。申报的目的是什么?它与模板变量类有关吗?

此定义用于允许类的专门化。所以,如果你想申报

std::function<ClassType> function;
std::函数;

您会得到编译时错误,这意味着未定义此参数的
std::function
,它仅为
std::function

定义此定义用于允许类的专门化。所以,如果你想申报

std::function<ClassType> function;
std::函数;
您得到编译时错误,这意味着未定义此参数的
std::function
,它仅为引用链接中的
std::function

定义

template< class >
class function;
模板
类函数;
是类模板声明。第二部分

template< class R, class... Args >
class function<R(Args...)>
模板
类函数
是一个部分专门化,如果没有来自第一部分的无限制声明,它将无法存在。

在引用的链接中

template< class >
class function;
模板
类函数;
是类模板声明。第二部分

template< class R, class... Args >
class function<R(Args...)>
模板
类函数
是一个部分专门化,如果没有来自第一部分的无限制声明,它将无法存在