I am trying to write a class that has some partial and explicit specialization. Having trouble with name lookup quirks though. Right now I have:
template <typename C, typename R>
class Command {
public:
Command();
private:
void doTheDew() {
/* ... */
}
};
template <typename C, typename R>
Command<C, R>::Command() {
doTheDew();
}
template<typename R>
class Command<void, R> {
public:
Command() {
this->doTheDew();
}
};
template<typename C>
class Command<C, void> {
public:
Command() {
this->doTheDew();
}
};
template<>
class Command<void, void> {
public:
Command() {
this->doTheDew(); // 1
}
};
On the line marked with "1" I get the error
class Command<void, void> has no member named doTheDew
I've tried quite a bit at this point and don't understand what I'm missing.