Hej!
Mam taki kod:
if (nFind == 1) strReturn2 = i5," ",i4;
Ale dlaczego on mi nie działa? Dodam ze i5/i4 to liczniki pętli for a strReturn2 jest zadeklarowane jako string i ten kod w if się na pewno wykonuje.
Proszę o pomoc
Hej!
Mam taki kod:
if (nFind == 1) strReturn2 = i5," ",i4;
Ale dlaczego on mi nie działa? Dodam ze i5/i4 to liczniki pętli for a strReturn2 jest zadeklarowane jako string i ten kod w if się na pewno wykonuje.
Proszę o pomoc
Ja bym najpierw radził zaznajomić się z działaniem operatora , bo nie tak się go używa(można i tak, ale nie będzie działał tak jak chcesz).
Czym jest “strReturn2”? char*? std::string? Ani char, ani string nie ma wbudowanej konwersji z int więc ten kod nie może działać.
Hmm takie pytanie świadczy o niepełnej znajomości C++. Co wg Ciebie miałby robić ten kod?
strReturn2 = i5," ",i4;
Tzn. jest to kod poprawny składniowo, ale raczej nie chciałeś do strReturn2 przypisać i4.
// ok ten kod się skompiluje, a łańcuch będzie zawierał literę której kod ASCII przypisano do std::string.
#include
#include
template inline std::string Str(const T& t)
{
//std::stringstream ss;
//ss<
//return ss.str();
// lub
return ((std::stringstream&)(std::stringstream()<
}
int main()
{
std::string strReturn2;
int i5=55,i4=44;
strReturn2=Str(i5)+" "+Str(i4);
cout<
cin.get();
return 0;
}
Ok dobra niedokładnie się wyraziłem, niestety C++ ma za dużo niejawnych konwersji. Jednak chodziło mi o to, że nie ma konstruktora std::string, który z liczby tworzyłby string z jej reprezentacją.
Napisałeś że się nie skompiluje
A jednak się kompiluje i nawet działa, może nie zupełnie zgodnie z oczekiwaniami autora tematu.
No macie racje ze sie na tym cudzie nie znam bo siedze prawie zawsze w PHP i tam takie cuda dzialaja dobra thx za odpowiedz za chwile sprawde czy śmiga
To nie jest klasa lecz wzorzec funkcji
to jest tak jakby napisał serie funkcji:
std::string Str(TypKonwertowany t)
{
std::stringstream ss;
ss<
return ss.str();
}
gdzie TypKonwertowany, zamieniasz na int, long, unsigned, unsigned long, float, double, std:vector<> itp, czyli na każdy typ który przekażesz do funkcji Str()
Ehe dzięki może sie połapie xD idę kodzic jak coś to się dopytam xD
Ok juz wszystko śmiga Wielkie dzięki!