【发布时间】:2013-05-10 03:39:49
【问题描述】:
C++ 标准禁止部分特化的友元声明。 (§14.5.3/8):
友元声明不得声明部分特化。 [示例:
template<class T> class A { };
class X {
template <class T> friend class A<T*>; //error
};
--结束示例]
其他问题,例如this one, 已收到援引此禁令的答复,但我想知道 理由。我没有看到它,也无法用我最喜欢的搜索引擎找到它。一世 但是可以发现它可以追溯到 C++98 标准,所以大概 基本原理很明确。谁能给我解释一下?
【问题讨论】:
-
这怎么“没有建设性”?
-
@LuchianGrigore:粗略的猜测:它有点要求可能的意见
-
@PlasmaHH 除非由真正知道原因的人回答(就像大多数问题一样):)
标签: c++ friend template-specialization