C++Builder相談室 Part17
■ このスレッドは過去ログ倉庫に格納されています
0718708
2007/06/21(木) 17:23:31class B
{
T t_;
};
class A
{
int i_;
template <typename T> friend int f(const B<T> &, const A &);
template <typename T> friend T g(const T &, const A &);
template <typename T> friend T h(const B<T> &, const A &);
};
template <typename T> int f(const B<T> & x, const A & y) { y.i_; return 1; }
template <typename T> T g(const T & x, const A & y) { y.i_; return x; }
template <typename T> T h(const B<T> & x, const A & y) { y.i_; return x.t_; }
int main(int argc, char* argv[])
{
A a;
B<int> b;
f(b, a);
g(b, a);
// h(b, a); // friendにならない
}
■ このスレッドは過去ログ倉庫に格納されています