Hallo zusammen!
Ich habe hier ein Problem mit einem template bei dem ich irgendwie nicht auf einen grünen Zweig komme:
Diese Linie mit dem typedef verursacht faszinierende 9 Fehler. Wobei vermutlich nur einer relevant ist und die anderen davon "ableiten":
Wo ist das Problem? Folgendes geht problemlos:
Folgendes geht nicht:
Was ist die Logik dahinter?
Gruss
Cromon
Ich habe hier ein Problem mit einem template bei dem ich irgendwie nicht auf einen grünen Zweig komme:
Code:
template<typename P1, class T = EmptyClassStub>
class ActionP1
{
typedef void (T::*tFunc)(P1);
Diese Linie mit dem typedef verursacht faszinierende 9 Fehler. Wobei vermutlich nur einer relevant ist und die anderen davon "ableiten":
Code:
1>c:\users\admin\documents\visual studio 2010\projects\vazyr\vazyr\event.h(105): error C2825: 'T': must be a class or namespace when followed by '::'
Wo ist das Problem? Folgendes geht problemlos:
Code:
template<class T, typename P1>
class ActionP1
{
typedef void (T::*tFunc)(P1);
Folgendes geht nicht:
Code:
template<typename P1, class T>
class ActionP1
{
typedef void (T::*tFunc)(P1);
Was ist die Logik dahinter?
Gruss
Cromon