скрытое меню

передача ССЫЛКИ на строку в функцию

Можно ли передать в функцию ССЫЛКУ на строку

Можно и делается синтаксически это по-другому

void sz(char &buf)
{
    printf("function sz=%c %s %p \n",buf,&buf,&buf);
}

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    char *sz1="123456789";
    printf("sz1=%c %s %p \n",*sz1,sz1,sz1);

    sz(*sz1);
    sz(sz1[0]);

    char sz2[]="abcdefg";
    printf("sz2=%c %s %p \n",*sz2,sz2,sz2);
    sz((char &)sz2); // а тут если не указать (char &) получим :
    // "cannot convert parameter 1 from 'char [10]' to 'char &'"
    sz(sz2[0]);

Вывод:

sz1=1 123456789 01195898 
function sz=1 123456789 01195898 
function sz=1 123456789 01195898 
sz2=a abcdefg 0043F9DC 
function sz=a abcdefg 0043F9DC 
function sz=a abcdefg 0043F9DC 

Можно ли передать в функцию ССЫЛКУ на строку и потом там эту строку менять?

Яндекс.Метрика