我将用一个简单的例子来解释这个问题。
我在头文件IVTEntry.h
中声明了一个IVTEntry类class IVTEntry{
...
static IVTEntry* data[256];
}
我想在IVTEntry.cpp文件范围
中使用以下宏初始化数组条目#define PEREPAREENTRY(numEntry)\
IVTEntry* IVTEntry::data[numEntry]=new IVTEntry(numEntry);
目标是仅初始化此数组中的某些条目。 当试图利用这个宏时,我得到了'IVTEntry :: data'重新声明的不匹配。这似乎合乎逻辑。
有没有一种简单,标准的方法可以解决这个问题,还是我应该从不同的方向思考?