Lo que te esta indicando es que esta desaconsejado el uso de
char * como sinónimo de
string, tienen formas similares pero trabajan de manera diferente.
En C++ existe el tipo
string(mira
acá), así que podrías reemplazar
char * o
unsigned char * por
string, así:
Código:
sabata::sabata(string reff, string marcaa, string colorr, string modell)
{
ref = new char[40];
strcpy(ref,reff);
marca = new char[40];
strcpy(marca,marcaa);
color = new char[40];
strcpy(color,colorr);
model = new char[40];
strcpy(model,modell);
}
Y luego lo invocas así:
Código:
sabata s2("t46t","Kelmo","blanc","guay");
O sino, dejas el código como antes, así:
Código:
sabata::sabata(char *reff, char *marcaa, char *colorr, char *modell)
{
ref = new char[40];
strcpy(ref,reff);
marca = new char[40];
strcpy(marca,marcaa);
color = new char[40];
strcpy(color,colorr);
model = new char[40];
strcpy(model,modell);
}
Y luego, para llamar al método, haces casting de tipos, así:
Código:
sabata s2((char *)"t46t", (char *)"Kelmo", (char *)"blanc", (char *)"guay");
Pero este 2° método esta desaconsejado y es mejor el primero.