다음 스 니펫은 Visual Studio와 g ++에서 잘 작동합니다. 친구 선언으로 여러 매개 변수 템플릿이 제대로 재생되지 않음
template<typename T> class BST;
template<typename T>
class BSTNode
{
friend class BST<T>;
...
이 조각은 VS에서 잘 작동하지만 동안
되지 g ++template<typename K, typename V> class Map;
template<typename K, typename V>
class MapPair
{
friend class Map<typename K, typename V>;
...
이 코드를 잘못 무엇입니까? 내가 얻는 오류는 도움이되지 않지만 여기에 있습니다.
error: wrong number of template arguments (1, should be 2)
error: provided for ‘template<class K, class V> struct Map’
error: friend declaration does not name a class or function
아이디어가 있으십니까?
'K'와'V' 전에'typename'을 제거하십시오 –