Сообщение Re[6]: error C2784: could not deduce template argument от 15.10.2015 12:48
Изменено 15.10.2015 12:51 collider
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, collider, Вы писали:
C>>Я и не говорю, что компилятор прям должен... Я хотел узнать, если ли какой финт ушами.
К>Финт ушами — сделать промежуточную функцию, грамотно решающую уравнение.
К>Самое тупое, подходящее для данного случая, — это
К>
К>В общем же случае, нужно знать, какие сигнатуры у функций test_t существуют, и как — по задумке — их положено отображать на struct_t.
К>Есть там рядом есть всякие перегрузки, другие шаблоны, специализации шаблонов...
C>>Пример ваш не корректен,конечно foo<int>.
К>Это почему вдруг? Чем специализации хуже основного шаблона?
ну наверное тем, что 123- это int
К>Здравствуйте, collider, Вы писали:
C>>Я и не говорю, что компилятор прям должен... Я хотел узнать, если ли какой финт ушами.
К>Финт ушами — сделать промежуточную функцию, грамотно решающую уравнение.
К>Самое тупое, подходящее для данного случая, — это
К>
К>template<class T> void test_t(T t) { test_t_impl(struct_t<T>(t)); }
К>К>В общем же случае, нужно знать, какие сигнатуры у функций test_t существуют, и как — по задумке — их положено отображать на struct_t.
К>Есть там рядом есть всякие перегрузки, другие шаблоны, специализации шаблонов...
C>>Пример ваш не корректен,конечно foo<int>.
К>Это почему вдруг? Чем специализации хуже основного шаблона?
ну наверное тем, что 123- это int
template<class T>
void bar(T)
{
}
template<>
void bar<char>(char x)
{
}
template<>
void bar(char*)
{
}
int main()
{
bar(123);
return 0;
}Re[6]: error C2784: could not deduce template argument
Здравствуйте, Кодт, Вы писали:
К>Здравствуйте, collider, Вы писали:
C>>Я и не говорю, что компилятор прям должен... Я хотел узнать, если ли какой финт ушами.
К>Финт ушами — сделать промежуточную функцию, грамотно решающую уравнение.
К>Самое тупое, подходящее для данного случая, — это
К>
К>В общем же случае, нужно знать, какие сигнатуры у функций test_t существуют, и как — по задумке — их положено отображать на struct_t.
К>Есть там рядом есть всякие перегрузки, другие шаблоны, специализации шаблонов...
C>>Пример ваш не корректен,конечно foo<int>.
К>Это почему вдруг? Чем специализации хуже основного шаблона?
ну наверное тем, что 123- это int
К>Здравствуйте, collider, Вы писали:
C>>Я и не говорю, что компилятор прям должен... Я хотел узнать, если ли какой финт ушами.
К>Финт ушами — сделать промежуточную функцию, грамотно решающую уравнение.
К>Самое тупое, подходящее для данного случая, — это
К>
К>template<class T> void test_t(T t) { test_t_impl(struct_t<T>(t)); }
К>К>В общем же случае, нужно знать, какие сигнатуры у функций test_t существуют, и как — по задумке — их положено отображать на struct_t.
К>Есть там рядом есть всякие перегрузки, другие шаблоны, специализации шаблонов...
C>>Пример ваш не корректен,конечно foo<int>.
К>Это почему вдруг? Чем специализации хуже основного шаблона?
ну наверное тем, что 123- это int
template<class T>
void bar(T)
{
}
template<>
void bar<char>(char x)
{
}
template<>
void bar<char*>(char*)
{
}
int main()
{
bar(123);
return 0;
}