Да, спасибо, забыл об этом. Хотя это просто болтовня со стороны языка - они просто забыли об этом случае, как и я здесь :)

отал в последнее время над небольшим проектом, и я не мог понять что-то ..

Мне дали файл .h, который содержал класс с использованием шаблона typename. Внутри этого класса был частный класс.

template <typename T>
class Something
{
public:
        Something();
        ~Something();

        Node* Function1(int index);
        int Index(const T& id);


private:
        class Node()
        {
                public:
                T id;

                //Imagine the rest for the Node


        };      
};

Проблема возникла, когда я захотел определить функции класса «Нечто»

Вот как я это делал (в файле .inl)

template<typename T>
Node* Something::Function1(int index) //Is the return type well written?
{
        // returns the node at the specified index
}

template<typename T>
int Something::Index(const T& id) //Is the parameter type well specified?
{
        // returns the index of the node with the specified id
}

Таким образом, часть с ошибками была в части определений ... Должен ли я сказать компилятору, что возвращаемый тип (в данном случае Node *) использует шаблон typename (например, так:typename Node*) А как насчет параметра?typename const Node& ?

Таким образом, в основном, когда мне нужно указать, будет ли функция / параметр использовать шаблон?

Спасибо за ваше время.

Ответы на вопрос(4)

Ваш ответ на вопрос