Проблемы, чтобы посылать стоимость в функцию и чтобы оживать C/C ++

В программе у меня есть это, где я хочу, чтобы стоимость моей функции сохранялась в переменной "имени" моего 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: номер это использовал как индекс, чтобы знать, в котором реестр я иду.

-1
задан 08.03.2019, 06:29
1 ответ

[Ошибка] 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¦-.

1
ответ дан 19.11.2019, 22:31