Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何访问C++;类模板?_C++_Templates - Fatal编程技术网

C++ 如何访问C++;类模板?

C++ 如何访问C++;类模板?,c++,templates,C++,Templates,我试图创建一个C++类模板,该模板利用指向成员参数的指针,但编译失败。如何从模板中访问指向成员参数的指针 class Base { public: int foo; int bar; }; template<int Base::* T> class Derived : public Base { public: int Get() { return *T; } <--- Does not work }; Derived<&Base::foo>

我试图创建一个C++类模板,该模板利用指向成员参数的指针,但编译失败。如何从模板中访问指向成员参数的指针

class Base {
public:
  int foo;
  int bar;
};

template<int Base::* T>
class Derived : public Base {
public:
  int Get() { return *T; }  <--- Does not work
};

Derived<&Base::foo> test;
printf("Value = %i\n", test.Get());
类基{
公众:
int foo;
int-bar;
};
模板
派生类:公共基{
公众:
int Get(){return*T;}Try

*
->*
是用于取消对成员指针的引用的运算符

return this->*T;

(为什么
T
?它不是一种类型。)

谢谢!很抱歉,您比接受的答案晚了一百万次:)@Pol:如果您发现更新的答案更有用、更完整等,您可以随时更改接受的答案。
return this->*T;