3
是否有可能將兩個模板類傳遞到模板類中?模板類的多個模板模板參數
我期待創建一個持有兩個不同的類std::tuple<std::vector<>>
。
我開始懷疑我想達到的目標無法完成,但是我找不到任何其他的說法。
#include <iostream>
#include <vector>
#include <tuple>
template<typename... Ts>
struct Typelist
{
static constexpr std::size_t size { sizeof...(Ts) };
};
template<class, class> class World;
template<template<typename... Arg1> class T1, template<typename... Arg2> class T2>
class World<Typelist, Typelist>
{
private:
std::tuple<std::vector<T1>...> m1;
std::tuple<std::vector<T2>...> m2;
};
int main() {
// your code goes here
using TL1 = Typelist<int, char, double>;
using TL2 = Typelist<float, unsigned int, bool>;
World<TL1, TL2> w2;
return 0;
}
這是可能的,如果是這樣,我在做什麼錯:
下面是代碼我一起工作? 如果沒有,是否有可能的替代方案?
由於'Typelist'不是一個類,因此使用'World'是不正確的。你可以使用'World ,Typelist >',但是從你的文章中不清楚'args1'和'args2'的合理值。 –
請向我解釋這個元組的用途是什麼,這對我來說一點都不清楚,因爲寫入的內部只有一種類型,而且你濫用'...'操作符?沒有參數包可以擴展?你想要做'std :: tuple ...>'? –
OmnipotentEntity