Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/141.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++ 单个函数的两个可变模板?第二部分_C++_Templates_C++11_Variadic Templates - Fatal编程技术网

C++ 单个函数的两个可变模板?第二部分

C++ 单个函数的两个可变模板?第二部分,c++,templates,c++11,variadic-templates,C++,Templates,C++11,Variadic Templates,作为以下内容的延续: 我需要一个有两个可变类型列表的函数 例如: template<typename... Types, typename... Args> void function(Args&&... args) { ... } // usage function</* types list for Types variadic */>(1,2,3/* arguments for Args */) 模板 无效函数(Args&&…Args){

作为以下内容的延续:

我需要一个有两个可变类型列表的函数

例如:

template<typename... Types, typename... Args>
void function(Args&&... args) {
   ...
}

// usage
function</* types list for Types variadic */>(1,2,3/* arguments for Args */)
模板
无效函数(Args&&…Args){
...
}
//用法
函数(Args*/的1,2,3/*参数)
谢谢。

这样就行了:

#include <type_traits>
#include <tuple>

template<typename... Types, typename... Args>
void fxn(Args&&... args) {
   static_assert(
       std::is_same<std::tuple<Types...>, std::tuple<int, bool>>::value, "!");
   static_assert(
       std::is_same<std::tuple<Args...>, std::tuple<int, double, char>>::value, "!");
}

int main()
{
    fxn<int, bool>(42, 3.14, 'c');
}
#包括
#包括
模板
void fxn(Args&…Args){
静态断言(
std::is_same::value,“!”;
静态断言(

std::is_sameUh…有什么问题吗?就这样使用它。嗯…我认为这是错误的…在盲目提问之前,总是尝试编译代码。