„Niejawna instancja niezdefiniowanego szablonu” podczas przekazywania deklarującej klasy szablonu

Mam jakiś kod, w którym muszę zadeklarować klasę szablonów (a przynajmniej deklarowanie przyszłości ułatwiłoby mi sprawy ...). Napisałem uproszczoną wersję problemu, który mam, więc mogę go wyświetlić tutaj:

template<bool>
class MyTemplateClass;

int main( int argc, char* argv[] )
{
    MyTemplateClass<false> myTemp;  // error here
    myTemp.GetTheValue();
    return 0;
}

template<bool bShouldMult>
class MyTemplateClass
{
    int m_myint;
    float m_myfloat;

public:
    MyTemplateClass() : m_myint(5), m_myfloat(3.0f) {}
    float GetTheValue()
    {
        return m_myint * (bShouldMult ? m_myfloat : 1.0f);
    }   

};

Błąd, który dostaję w skomentowanej linii to:

Error - implicit instantiation of undefined template 'MyTemplateClass<false>'

Jakie inne szczegóły muszę zawrzeć w deklaracji forward MyTemplateClass? Ponieważ błąd nie pochodzi z następnej linii w dół, zakładam, że nie wynika to z faktu, że metoda jest niezdefiniowana. Kompilatorem, którego używam, jest LLVM / CLang i kompiluję na Macu.