我刚刚在一些旧代码中遇到了以下代码段,奇怪地使用了枚举:-
class MyClass
{
public:
enum {MAX_ITEMS=16};
int things[MAX_ITEMS];
...
} ;
这比 好,#define MAX_ITEMS 16
但与 有什么不同static const int MAX_ITEMS=16;
?
回到记忆的迷雾中,我记得一些 C++ 编译器不允许你在类中初始化 const,而是需要一个单独的......
const int MyClass::MAX_ITEMS = 16;
...在 .cpp 源文件中。这只是一个旧的解决方法吗?