Template-Template-Argument funktioniert nicht



  • Hallo.

    Doofes Problemchen, bestimmt habe ich nur 'was Kleines übersehen, aber ich komme gerade nicht drauf (Ideone):

    template<template<typename, typename> class T>
    struct Process
    {
    };
    
    template<int Value>
    struct MakeTemplate
    {
    	template<typename T, typename U>
    	struct Template
    	{
    	};
    };
    
    template<int Value>
    struct Combine : Process<template MakeTemplate<Value>::Template> // <- Hierum geht
    {
    };
    
    int main()
    {
    	Combine<0>();
    }
    

    Der Fehler ist:

    prog.cpp:16:64: error: template argument 1 is invalid
     struct Combine : Process<template MakeTemplate<Value>::Template>
    

    Gruss.


  • Mod

    MakeTemplate<Value>::template Template
    


  • Achja, danke. Verwechsle die Syntax immer der von typename . 🙄


Anmelden zum Antworten