我仍然在学习C++模板,并遇到有关使用以下方法从专用静态函数调用成员的问题。海湾合作委员会抱怨:“成员C的无效使用< const char *> ::静态成员函数中的值。”我已经搜索了这个论坛和其他几个人,甚至我的朋友谷歌也无法帮助我。我认为错误必须是我忽略的,因为我制作了一个非专业版的类(具有相同的静态成员函数),而且我仍然得到相同的错误。有任何想法吗?从同一个类的专门模板的静态函数中访问类模板成员
template <typename T = const char*>
class C { };
//specialization for const char*
template <>
class C <const char*> {
public:
C() { }
static void echo(int x);
private:
int value;
};
//error occurs here
void C<const char*>::echo(int x) {
value = x;
}
非常感谢您提供的任何见解。
谢谢@Ben,正是我在找的!很好的解释。 +1 – jrd1