Nic*_*ick 0 c++ templates friend c++11
我遇到以下情况:
template<typename T, int N>
class Foo
{
};
// specialization for 0
template<typename T>
class Foo<0>
{
friend class Foo<T, 1>;
};
Run Code Online (Sandbox Code Playgroud)
也就是说,我需要那Foo<T, 1>是朋友Foo<T, 0>,但我有编译错误.这可能吗?
您的专业化中有一个错字:
template<typename T>
class Foo<T, 0>
{ // ^^^ <= add this
friend class Foo<T, 1>;
};
Run Code Online (Sandbox Code Playgroud)