询问者
请指教 关于class的定义错误

问题
-
本人刚学习编程, 在定义class的时候遇到如下错误。
不知如何解决,请您多指教。
错误提示是 name followed by '::' must be a class or namespace name.
这段代码是我copy的一个例子,不知怎地还有错误。
类似的错误在定义其他class时也有。- 已移动 Elegentin Xie 2012年6月12日 2:01 (发件人:Visual C++)
全部回复
-
你好,
根据我的理解,应该是你的类名前的A2BehavioralModelUtil_EXPORT参数,导致编译器了无法识别该类名。我不知道你的A2BehavioralModelUtil_EXPORT是什么,我猜可能是某个宏或者某个第三方库,建议你把这个参数搞明白。如果没有此参数的话,编译器是可以识别你的类方法的。
如果你想学习类、类继承的构建方法的话,建议你看看这个:http://blog.csdn.net/hopedengxiwang/article/details/6942099,http://www.cplusplus.com/doc/tutorial/inheritance/
有疑问的话,请回帖。
此致
-
你好,
根据我的理解,你的代码中在类名前加A2BehavioralModelUtil_EXPORT是为了把整个类作为输出,因为该宏的作用是声明dll方法或类的输出类型,你在定义A2BehavioralModelUtil_EXPORT这个关键字时没有加入declspec(_dllexpot)。这里加上declspec(_dllexpot)可能会使得该宏得以识别类方法名,但是由于不清楚你的库的结构以及目的,这样做可能会更改或者影响其他方面的引用或者用法,所以可能还会引起别的地方错误。
因此,鉴于你的库是第三方的,所以我建议去找第三方库的完整例程来编译,或者去第三方论坛提问。
希望对你有帮助。
此致