Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Как реализовать шаблонный метод вне класса


Автор: ANTON_AL 16.10.2007, 16:53
Доброго дня !




Вкратце, есть такой код, это то,  чего хотелось бы добиться:

Код

#include <stdio.h>
#include <conio.h>
#include <iostream>
using namespace std;





template< class T >
class A
{
    public:
        A( ){ }

        template< int iDistance >
        void Method( );        //Должен быть реализован вне класса


    private:
};



template< class T >
template< int iDistance >
void A<T>::Method<iDistance>( )
{
    
} // I cause here an error




void main( )
{
    A<int> a;

    a.Method<5>( );

    
    getch( );
}




Вылазит ошибка: error C2768: 'A<T>::Method' : illegal use of explicit template arguments



Так тоже не работает:
Код

template< class T, int iDistance >
void A<T>::Method<iDistance>( )
{

}



Как провернуть задуманное ?


Автор: Fazil6 16.10.2007, 17:13
Код

template< class T >
template< int iDistance >
void A<T>::Method( )
{
    
} // I cause here an error

Автор: ANTON_AL 16.10.2007, 17:23
Спасибо, всё работает !

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)