следующий код
template<typename T, typename U> class Alpha
{
public:
template<typename V> void foo() {}
};
template<typename T, typename U> class Beta
{
public:
Alpha<T, U> alpha;
void arf();
};
template<typename T, typename U> void Beta<T, U>::arf()
{
alpha.foo<int>();
}
int main()
{
Beta<int, float> beta;
beta.arf();
return 0;
}
Не компилируется из-за:
.. / src / main.cpp: в функции-члене
‘Void Beta :: arf ()’:
../src/main.cpp:16: ошибка: ожидается
первичное выражение перед "int"
../src/main.cpp:16: ошибка: ожидается
‘;’ Перед "int"
Как, черт возьми, я могу это исправить? Я перепробовал все, что мог придумать.