En el siguiente código, ¿cómo puedo hacer que la línea comentada funcione de la misma manera que la línea justo encima de ella?
Me gustaría convertirlo en un código genérico, que llame al constructor adecuado de una plantilla Type
.
#include <string>
#include <iostream>
template <typename Type>
struct Class
{
Type data;
Class(Type data) : data(data) { }
};
int main()
{
Class<std::string> a = std::string("abc");
// Class<std::string> b = "abc";
std::cout << a.data << std::endl;
return 0;
}