В программе у меня есть это, где я хочу, чтобы стоимость моей функции сохранялась в переменной "имени" моего struct, но появляется следующая ошибка:
Несовместимая [ошибка] types in assignment of 'char' to 'char [100]'
while(sal==false){
clean
memset(alumno[num].nombre,0,sizeof(alumno[num].nombre));
alumno[num].nombre=nombres(num);
getch();
sal=volver();
num++;
}
.
Сейчас, в моей функции (у меня есть она в книжном магазине) у меня есть другая проблема, которая появляется во время возвращения стоимости, ошибка:
[Ошибка] invalid превращение from 'char*' to 'char' [-fpermissive]
char nombres(int a){
int i;
char str[100];
bool e=false;
while(e==false){
clean
cout<<verde<<"\n\n\n Alta de Registro "<<cyan<<a<<"\n "<<reset<<"Dime el nombre del alumno"<<endl;
memset(str,0,sizeof(str));
gets(str);
for(i=0;i<strlen(str);i++){
if((isalpha(str[i]))||(str[i]==' '))
e=true;
else{
e=false;
cout<<rojoc<<"[error]"<<reset"solo admitire letras";
i=101;
}
}
}
return (str);
}
.
Я он ходил, но не знаю полностью как упорядочивать Dx. Спасибо за чтение мне uwu.
pd: номер это использовал как индекс, чтобы знать, в котором реестр я иду.
[Ошибка] invalid превращение from 'char*' to 'char'
Ошибка ясная, conversi¦n объяви от char*
до char
недействительными; в прототипе funci¦n ты объявляешь, что Вашей стоимости возврата один char
, но стараешься, (char*
) возвращать указатель в char.
ты признаешь вектор char
из 100 положений названным str, старались возвращать str действительно то, что ты делаешь, он возвращая указатель в первый posici¦n вектора, костлявый один char*
, поэтому ты жалуется составитель.
Сейчас, Â: из-за qué ты это делаешь таким образом?, эти в C ++, поэтому используй объекты C ++, как string
например, если только у тебя не будет raz¦n веса, чтобы это делать as¦-.