编译错误 C2143:语法错误:'<'之前缺少';'

Compilation error C2143: syntax error : missing ';' before '<'

本文关键字:错误 lt 编译 语法 C2143      更新时间:2023-10-16
using namespace std;
class cName
{
public:
    cName();
    void fName(){};
};
#define LNA_FUNCTION(className, funcName) 
 static LNA_FUNCTION<className> funcName##className##Func(#className, #funcName, className :: funcName)
LNA_FUNCTION(cName, fName);
int _tmain(int argc, _TCHAR* argv[])
{   
}

任何人都可以请为什么在VS 2008中汇编时显示此错误?

编译错误C2143:语法错误:丢失';''&lt;'

之前

没有看到所有代码,您可能没有定义一个称为LNA_FUNCTION的模板类。您是否 #include'd所有依赖性?

作为旁注,我强烈建议不要写课程,然后定义具有相同名称的预处理器宏。它可能不会做您想做的事情。