Существует структура TOut, содержащая внутреннюю структуру TIn:
template <typename T>
struct TOut
{
struct TIn
{
bool b;
};
TIn in;
T t;
};
Как правильно передать TIn в качестве формального параметра некоторого метода?
class Test
{
public:
template <typename T>
static void test ( const TOut<T>::TIn &i) {} //Error
};
int main()
{
TOut <double> o;
Test::test(o.in);
}
Программа компилируется сследующая ошибка:
Error 4 error C2998: 'int test' : cannot be a template definition