2008-10-15 14 views
10

Bunun gibi bir kodum var:Bir struct şablonunu arkadaş olarak nasıl işaretlersiniz?

template <typename T, typename U> struct MyStruct { 
    T aType; 
    U anotherType; 
}; 

class IWantToBeFriendsWithMyStruct 
{ 
    friend struct MyStruct; //what is the correct syntax here ? 
}; 

Şablonla arkadaşlık kurmayı sağlayan doğru sözdizimi nedir?

cevap

17
class IWantToBeFriendsWithMyStruct 
{ 
    template <typename T, typename U> 
    friend struct MyStruct; 
}; 

VS2008'de çalışır ve MyStruct'ın sınıfa erişmesine izin verir.

+0

Serin olurdu! Bu çalışır (Henüz oy kullanamıyorum, kayıt oluncaya kadar yapacağım) – David

+0

Not: Bu, MyWarTo'nun her tür MyStruct erişimini verir, ancak MyStruct erişiminin özel uzmanlıklarını vermek de mümkündür. –

+0

G ++ da çalışır. –

7

this site göre, doğru sözdizimi

class IWantToBeFriendsWithMyStruct 
{ 
    template <typename T, typename U> friend struct MyStruct; 
} 
İlgili konular