2010-01-07 106 views
4

我读一些代码,云:C++的extern类定义

extern class MyClass : BaseClass 
{ 
    ... 
} MyInstance; 

是否EXTERN指的是类声明或实例?

回答

6

实例。类不能是extern。

尽管代码味道 - 这段代码表明该实例的真实声明使用单独的类定义。坏的,坏主意 - 两次定义这个类。

+2

Seva钉了它。将实例从类定义中分离出来,extern类不会编译,但extern MyClass MyInstance会执行此操作。 – 2010-01-07 22:06:00