不確定這次是否使用模板編程走遠。我嘗試傳遞一個模板模板參數。這個問題來自一個真正的問題,但我現在要以不同的方式解決這個問題。所以,問題是或多或少的「學院派」「using」for「<template <class> class T>」
首先,我嘗試將被用來作爲模板參數的結構「存儲」 F_
:
template <class M_, template <class> class F_>
struct Conf{
using F = F_; // Problem 1: F_ is not a type!
using M = M_;
};
F
然後從結構讀取和用於實例func
:
template <class CONF> // CONF is a Conf<x, y>
void call(){
using F = typename CONF::F; // Problem 2: F_ is still not a type!
func<F>();
}
而且FUNC是:
template <template <class> F>
void func(){
F<MyType>::call();
}
問題是:我不能使用「存儲」F
。我能做些什麼來在結構中傳遞F
?
'F_'是一個模板類型。所以你需要寫'使用F = F_'或其他東西。 –
CoffeeandCode