有没有可能有一个非类型模板参数,它实际上是一个指向类成员的指针?我希望做的事情如下所示:
struct Person {
Dog dog;
};
template <?? ptr>
struct Strange {
// ...
};
typedef Strange<&Person::dog> weird;
到目前为止,我的工作让我相信这种事情是不可能的,但我很好奇是否有人可以说不是这样的。
发布于 2011-07-30 11:07:44
从标准中:
非类型模板参数应具有以下(可选的cv-fied)类型之一:
的type
所以它是被允许的,并且看起来在g++
上是这样工作的:
template <Dog Person::*ptr>
struct Strange { ... };
https://stackoverflow.com/questions/6880832
复制相似问题