搜尋

首頁  >  問答  >  主體

c++模板类作为友元类出现的问题

#include <iostream>

using namespace std;

template <class T>
class SimNode
{
    friend SimSpace<T>;
private:
    T data;
    int link;
};

template <class T>
class SimSpace
{
private:
    SimNode<T>* space;
};

int main()
{
    system("pause");
    return 0;
}

报错之后问题出现在

friend SimSpace<T>;

请问为什么?

PHP中文网PHP中文网2767 天前527

全部回覆(1)我來回復

  • PHP中文网

    PHP中文网2017-04-17 13:01:50

    你的聲明有問題,應該是

    class SimNode
    {
        
    private:
        template <class T>      //声明不要漏了template <class T>,这是C++很蛋疼的一个地方
        friend class SimSpace;  
        T data;
        int link;
    };

    回覆
    0
  • 取消回覆