Vorlagentyp kann nicht abgeleitet werden

Ich versuche, einen Iterator als Template-Parameter an eine Template-Methode zu übergeben, aber der Compiler beklagt Folgendes:

error C2783: 'void Test::Assert(std::vector<T>::const_iterator)':
could not deduce template argument for 'T'

Der Code, der den Fehler verursacht, lautet:

#include "stdafx.h"
#include <iostream>
#include <vector>

class Test
{
    public:
        template <typename T>
        void Assert(typename std::vector<T>::const_iterator it)
        {
            std::cout << *it << std::endl;
        }
};

int _tmain(int argc, _TCHAR* argv[])
{
    Test test;

    std::vector<double> myVec;

    test.Assert(myVec.cbegin());

    return 0;
}

Ich schätze, es gibt eine einfache Möglichkeit, diese Funktion zu nutzen, da die meisten Standardalgorithmen den Typ aus dem Iterator ableiten können.

Antworten auf die Frage(10)

Ihre Antwort auf die Frage