#include <iostream>
#include <vector>
template<typename T>
class Data {
public:
Data(const T &t) {
}
};
Data(const char *) -> Data<std::string> ;
Data(int)->Data<long> ;
int main() {
Data d1{5};
}
the above code is not compiling, only if I change Data d1{5} ; to Data<int> d1{5} ; it is working.