explicit template instantiation
От: Аноним  
Дата: 12.02.04 13:48
Оценка:
К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:

Compiler: MS7.1

template<class T>

void func( typename T::value_type v )
{
    
}

template void func<vector<int> >(int v);


На это компилятор говорит:
warning C4667: 'void func(int)' : no function template defined that matches forced instantiation

Нежелательные решения:
1. #pragma warning( disable : 4667 )
2. Забить на explicit instantiation:
    vector<int> v;
    func<vector<int> >(1);


Как бороться?
Re: explicit template instantiation
От: Аноним  
Дата: 12.02.04 16:14
Оценка:
Здравствуйте, Аноним, Вы писали:

А>К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:


А>Compiler: MS7.1


А>
А>template<class T>
А>void func( typename T::value_type v )
А>{
А>}

А>template void func<vector<int> >(int v);
А>


А>На это компилятор говорит:

А>warning C4667: 'void func(int)' : no function template defined that matches forced instantiation
А>Как бороться?

Так работает:

#include <vector>
#include <queue>

template<class T>
void func(typename T::value_type v, const T*)
{
};

void func(int v, const std::vector<int>*)
{
}

int main()
{
    std::queue<int> *q = 0;
    func(11, q);

    std::vector<int> *p = 0;
    func(55, p);
}
Re: explicit template instantiation
От: jazzer Россия Skype: enerjazzer
Дата: 13.02.04 09:02
Оценка:
Здравствуйте, Аноним, Вы писали:

А>К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:


А>Compiler: MS7.1


А>template<class T>


А>
А>void func( typename T::value_type v )
А>{
    
А>}

А>template void func<vector<int> >(int v);

А>


А>На это компилятор говорит:

А>warning C4667: 'void func(int)' : no function template defined that matches forced instantiation

А>Нежелательные решения:

А>1. #pragma warning( disable : 4667 )
А>2. Забить на explicit instantiation:
А>
А>    vector<int> v;
А>    func<vector<int> >(1);
А>


А>Как бороться?


А ты чего хочешь-то???
как предполагается использовать такую функцию?
и причем тут вектор?
jazzer (Skype: enerjazzer) Ночная тема для RSDN
Автор: jazzer
Дата: 26.11.09

You will always get what you always got
  If you always do  what you always did
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.