我需要有一个模板类。我想传递一个类型的模板,然后传递两个成员变量指针。第二个指针我想默认为NULL,因此是可选的。这是可能的,如果是这样的话是什么语法?默认成员变量指针时,其模板参数
我预计语法
template<typename T, int T::*VALUE1, int T::*VALUE2 = NULL>
class Foo { ... }
然而,当我试图实例化这个类的一个实例;
Foo<Bar, &Bar::var1> fooBar;
虽然使用了以下工作
Foo<Bar, &Bar::var1, &Bar::var2> fooBar
实例(从G ++ 4.4)给出的误差是
错误:无法模板参数 '0升' 转换为“廉政酒吧:: * '
请注意,我不能使用C++ 11,因此nullptr
但是,当您尝试实例化(而不是煽动)...... _什么?它不会编译?编译器给出了什么错误? – Useless
因为当你应该使用'nullptr'时使用'NULL' – CoffeeandCode
nullptr会很好,但是我不能使用C++ 11所以不能使用它 – lachlan