Как переслать объявление шаблона класса в пространстве имен std?

#ifndef __TEST__
#define __TEST__

namespace std
{
    template<typename T>
    class list;
}

template<typename T>
void Pop(std::list<T> * l)
{
    while(!l->empty())
        l->pop();
}

#endif

и использовал эту функцию в моей основной. Я получаю ошибки. Конечно, я знаю, что есть больше шаблонных параметров для std::list (распределитель, я думаю). Но это не относится к делу. Должен ли я знать полное объявление шаблона класса шаблона, чтобы иметь возможность пересылать его?

РЕДАКТИРОВАТЬ: раньше я не использовал указатель - это была ссылка. Я попробую это с указателем.

129
задан underscore_d 2 June 2017 в 19:18
поделиться