#define DECL_PERSISTENT(classname)
public: \\33
static CPersistent * __new_obj() {return new classname;} \\34
virtual const char * __get_classname() {return #classname;} \\35请问以上代码定义的是什么?编译时有如下提示:
persistent.h(33) : error C2143: syntax error : missing ';' before 'public'
persistent.h(34) : error C2061: syntax error : identifier 'classname'
persistent.h(34) : error C2143: syntax error : missing ';' before '}'如何解决此问题?
public: \\33
static CPersistent * __new_obj() {return new classname;} \\34
virtual const char * __get_classname() {return #classname;} \\35请问以上代码定义的是什么?编译时有如下提示:
persistent.h(33) : error C2143: syntax error : missing ';' before 'public'
persistent.h(34) : error C2061: syntax error : identifier 'classname'
persistent.h(34) : error C2143: syntax error : missing ';' before '}'如何解决此问题?
它是续行符, 说明这四行语句实际是一行宏定义。
把DECL_PERSISTENT(classname) 展开为下面的三行。