我有一个用c ++定义的类。我的.h文件中有一个模板。而这个模板很少在.cxx文件中定义的本地类。
a.h的内容
namespace test
{
Class a
{
template<classT>
{
abc xyz = //some initialization
}
};
}
a.cxx的内容
#include "a.h"
namespace test
{
class abc
{
};
}
当我编译这个文件时,编译得很好。但是当我尝试使用我在a.h中定义的模板时。它引发了我的错误。
错误C3861:'abc':找不到标识符
答案 0 :(得分:0)
制作abc类的前向声明,如:
namespace test
{
class abc;
class a
{
template<classT>
{
abc xyz = //some initialization
}
};
}
答案 1 :(得分:0)
您似乎错过了将class abc
的声明放在.h文件中。
你放Class a
代替class a
。