diff --git a/src/c_wrapper/function.h b/src/c_wrapper/function.h
index b7fe1011165e31ca08e58ddbae0ce31a6688efa4..495483c85d5541d38f08d8a2bc5c04666ad13845 100644
--- a/src/c_wrapper/function.h
+++ b/src/c_wrapper/function.h
@@ -84,7 +84,7 @@ private:
 public:
     template<typename... Types2>
     ArgPack(Types2&&... arg_orig)
-        : tuple_base(ArgConvert<Types2>(arg_orig)...)
+        : tuple_base(ArgConvert<_ArgType<Types> >(arg_orig)...)
     {
     }
     ArgPack(ArgPack<Convert, Types...> &&other)