我试图避免这种解决方案的一个问题:级联
static const int FOO_Test = 7;
template < typename Derived >
class Foo {
public:
static const int Type;
};
const int Foo::Type = FOO_##Derived ;
class Test : public Foo<Test> {};
正如你看到的,我试图让FOO_Test值,只存在如果有人从Foo派生了一个派生类(需要一些外部工具来编写一个头文件)。
那么宏连接不工作(毕竟还不确定),任何想法实现呢?
宏连接仅在宏定义中起作用。 –
看来你正在试图混合预处理宏和模板,它们没有什么共同之处。你想达到什么目的?也许你可以简单地使用[typeid](http://en.cppreference.com/w/cpp/language/typeid)? –
@GillBates不,这是意外 –