在C++ 03中,以下是非法的,儘管一些編譯器支持它。作爲朋友的模板參數
template <class T>
class X
{
friend T;
};
這是在C++ 11合法化嗎? (對不起,沒有時間閱讀草稿我自己,只是希望有人知道這一點)
在C++ 03中,以下是非法的,儘管一些編譯器支持它。作爲朋友的模板參數
template <class T>
class X
{
friend T;
};
這是在C++ 11合法化嗎? (對不起,沒有時間閱讀草稿我自己,只是希望有人知道這一點)
從部分§11.3,3 N3291:
template <typename T> class R {
friend T;
};
R<C> rc; // class C is a friend of R<C>
R<int> Ri; // OK: "friend int;" is ignored
所以它是合法的C++ 11。
我很高興'friend int;'被忽略:) –
是的C++ 0x允許模板參數成爲朋友。
嗯,我碰巧記得之前在草稿中讀過它,但找不到參考資料。通常情況下,@Praetorian的答案是明確的。
[標籤:朋友]是對C++正確。 – user7116
[朋友](http://www.stackoverflow.com/questions/tagged/friends)適用於Facebook。 –
@Ken:我很高興它不適用於電視節目xD –