Значение шаблона специализации - PullRequest
1 голос
/ 04 ноября 2011

Можно ли сделать шаблонную специализацию для значения без дополнительного типа?

Примерно так:

template<typename T>
class foo
{
};

template<>
class foo<0>
{
};

Ответы [ 3 ]

4 голосов
/ 04 ноября 2011

Да, но вы хотите использовать нестандартный параметр шаблона:

template<int i>
class foo
{
};

template<>
class foo<0>
{
};
2 голосов
/ 04 ноября 2011

С кодом, который вы показываете, нет смысла.Это, однако, возможно:

template<int N>
class foo
{
};

template<>
class foo<0>
{
};
0 голосов
/ 04 ноября 2011

Это быстрее попробовать, чем задать вопрос здесь. С GCC (g ++ 4.6) я получаю

temp.cc:7:12: error: type/value mismatch at argument 1 in template parameter list for 'template<class T> class foo'
temp.cc:7:12: error:   expected a type, got '0'

Так что, видимо, ответ нет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...