Wpis z mikrobloga

#programowanie #cpp

Dlaczego

char abc[256];

char reversetext(){

char tempa[256];


for( i=0; i<=stringLength; i++){


tempa[stringLength-i] = abc[i];


}


return tempa;


}


Wypluwa


main.cpp: In function ‘char reverse
text()’:

main.cpp:20:12: error: invalid conversion from ‘char*’ to ‘char’ [-fpermissive]

main.cpp:16:10: warning: address of local variable ‘tempa’ returned [enabled by default]

A w main()

daję

cout << reverse_text();
  • 6
@sokytsinolop: To w ogóle nie ma sensu.

1. Z nazwy funkcji wynika, ƶe chcesz odwrócić kolejność znaków w tekście, ale zwracasz ZNAK. JEDEN.

2. Nie moƶesz zwrócić lokalnej tablicy (albo referencji do zmiennej lokalnej), bo po wyjściu z funkcji będziesz odwoływał się do zmiennej, której juƶ nie ma, czyli wywołasz UB

polecam

std::string
i

std::string::rbegin
/

std::string::rend