该问题的主要原因是:
class C{};
template <class T>
class C{}; // C2989
从以上例子可以看出,当前面定了类C,又再一次定义类C为模板类,因此便出现了该问题;
当时我出错的代码是:
class A
{
friend class B;//出错主要原因:C2989
...
};
template<class T>
class B
{
...
};
问题出现在类A中,改正为:
class A
{
template<class T>
friend class B;
...
};