как избавиться от ошибки C3861 :? - PullRequest
0 голосов
/ 08 ноября 2011

У меня есть класс, определенный в C ++.И у меня есть шаблон внутри его .h файла.И в этом шаблоне мало локальных классов, определенных в файле .cxx.

содержимое ах

namespace test
{
 Class a
 {
   template<classT>
   {
     abc  xyz = //some initialization
   }
 };
}

содержимое a.cxx

#include "a.h"
namespace test
{
   class abc 
   {
   };
}

когда я компилирую этот файл, он компилируется нормально.Но когда я пытаюсь использовать шаблон, который я определил в ах.мне выдается следующая ошибка.

ошибка C3861: 'abc': идентификатор не найден

Ответы [ 2 ]

0 голосов
/ 08 ноября 2011

Кажется, вы упустили объявление class abc в файле .h.

И вы положили Class a вместо class a.

0 голосов
/ 08 ноября 2011

Создайте предварительное объявление класса abc, например:

namespace test
{

 class abc;

 class a
 {
   template<classT>
   {
     abc  xyz = //some initialization
   }
 };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...