В следующем коде я хотел бы вызвать hithere со своей специализацией (если это правильное слово) шаблона для типа, который является либо bar , либо Baz . Компиляция кода дает мне ошибку (GCC): < /p>
error: incomplete type ‘foo’ used in nested name specifier
< /code>
Почему это? Что неполно в шаблоне, которое должно быть создано для bar просто хорошо?#include
template struct foo;
struct Bar {};
struct Baz {};
template
struct foo{
static void hithere(){};
};
int main(void){
foo::hithere();
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... ameter-mwe