Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] kolizja między cout a funkcją rekurencyjną

Ostatnio zmodyfikowano 2023-01-21 16:23
Autor Wiadomość
eniuwty
Temat założony przez niniejszego użytkownika
[C++] kolizja między cout a funkcją rekurencyjną
» 2023-01-21 14:11:51
Nie wiem czemu ale funkcja zwraca wartość ostatniego cout od 40 znaku + wartość funkcji
Program wypluwa

cbacba143
abcabcbabcbabcbabacbcbabcbabcbabcbcba321bcbacba
cbacba143


C/C++
#include <iostream>

using namespace std;

string sys_licz( int liczba, int sys )
{ if( liczba == 0 )
   
{ string g = "" +( char )( liczba + 48 );
       
return g;
   
}
   
else
   
{
       
       
return sys_licz( liczba / sys, sys ) +( char )( liczba % sys + 48 );
   
}
   
}

int main()
{ string g = sys_licz( 120, 9 );
   
cout << sys_licz( 120, 9 ) << endl;
   
cout << "abcabcbabcbabcbabacbcbabcbabcbabcbcba321bcbacba" << endl;
   
cout << g << endl;
   
   
return 0;
}



P-179906
pekfos
» 2023-01-21 15:13:51
C/C++
string g = "" +( char )( liczba + 48 );
Do sklejania napisów dodawaniem przynajmniej jedna strona operacji musi być typu std::string, a tu próbujesz dodać ze sobą const char[1] i char. String z jednym znakiem możesz utworzyć tak:
C/C++
return std::string( 1, znak );
P-179907
eniuwty
Temat założony przez niniejszego użytkownika
» 2023-01-21 16:23:43
dziękuje, podziałało. Pozdrawiam i zamykam temat
P-179908
« 1 »
  Strona 1 z 1