История изменений
Исправление MyTrooName, (текущая версия) :
#include <iostream>
template<class T>
T plus(T x, T y) { return x + y; }
int main() {
auto x = 3;
auto y = 4;
auto z = plus(x, y);
std::cout << z << std::endl;
return 0;
}
работает прекрасно
template<class A, class B, class C>
C plus(A x, B y) { return x + y; }
test.cpp:4:3: note: template argument deduction/substitution failed:
test.cpp:9:23: note: couldn't deduce template parameter ‘C’
auto z = plus(x, y);
так, конечно, ломается. только я всю жись называл эту фичу хаскеля type inference, а не неявной типизацией, и никакого отношения к javascript, ruby, python итд она не имеет
Исходная версия MyTrooName, :
#include <iostream>
template<class T>
T plus(T x, T y) { return x + y; }
int main() {
auto x = 3;
auto y = 4;
auto z = plus(x, y);
std::cout << z << std::endl;
return 0;
}
работает прекрасно
template<class A, class B, class C>
C plus(A x, B y) { return x + y; }
test.cpp:4:3: note: template argument deduction/substitution failed:
test.cpp:9:23: note: couldn't deduce template parameter ‘C’
auto z = plus(x, y);
только я всю жись называл эту фичу хаскеля type inference, а не неявной типизацией, и никакого отношения к javascript, ruby, python итд она не имеет