К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:
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);
Как бороться?
Здравствуйте, Аноним, Вы писали:
А>К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:
А>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);
}
Здравствуйте, Аноним, Вы писали:
А>К сожалению, ответа на вопрос я не получил, поэтому повторяю вопрос снова:
А>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);
А>
А>Как бороться?
А ты чего хочешь-то???
как предполагается использовать такую функцию?
и причем тут вектор?