My mistake. I looked around, and this problem NOT affecting all classes, and probably NOT a regression.
But the great news is that, I was able to reproduce in a clean new test project. The steps are:
1. Create a new Win32 Project with name vaxtest
2. Paste this code into vaxtest.h:
#ifndef _cDynamicType_H
#define _cDynamicType_H
class cDT_Array;
class cDataView;
class cDataRender;
#include <float.h>
class cDynamicType {
public:
REFLECTION;
cDynamicType();
};
// extern tRef <cDT_Array> DTArrayHolder;
#endif
3. Create a new header testheader.h
4. Paste this code into testheader.h:
#ifndef _REFLECTION_H
#define _REFLECTION_H
#define REFLECTION \ static void Test1(void) {} \ virtual void Test2(void) {} \ virtual void Test3(int* s, int on, bool externalcall, bool hidden) {}; \ virtual void Test4(int* s, int on, bool externalcall) {}; \ virtual void Test5(void) {}; \ static int Test6(void) \ { \ static int ClassID = GlobalClassIDCounter++; \ return ClassID; \ } \ bool IsInstance(int classID) {return false;}
#endif
5. Include this file to the end of the project's stdafx.h
6. Place your mouse over the constructor of the cDynamicType in vaxtest.h
7. You will NOT see Create implementation in the refactoring menu