我正在尋找一種方式來從實際的B型和C內參考的T IN的代碼下面你看到的是我的第一個傾向是嘗試並對其進行初始化。我嘗試過的其他嘗試是使用完美的轉發,繼承和向B和C添加更多模板參數。有人可以提出一條前進的道路嗎?有沒有新的構想可能會有所幫助?我接近或者這是不可能的?對於具有兩個模板變量的模板類,可以使一個var引用另一個var?
struct D {};
struct E {};
template< typename U1 >
struct B
{
B() : u1(???)
U1& u1; // how to reference A's t variable?
};
template< typename U2 >
struct C
{
C() : u2(???)
U2& u2; // how to reference A's t variable?
};
template< typename T, typename U >
struct A
{
T t;
U u;
};
int main()
{
A< D, B<D> > a1;
A< E, C<E> > a2;
return 0;
}
其不清楚你想要達到的目標。爲什麼你的模板有兩個參數,如果無論如何一個是對另一個類型的引用? – user463035818
其實我看錯標題,但我還是不明白你想要做什麼 – user463035818
這LILE看起來[XY問題(http://meta.stackexchange.com/questions/66377/what-is-the-xy -問題)。如果你能告訴我們你想要解決的實際問題是什麼,這真的會有所幫助。 – user463035818