-
11. Data: 2020-04-17 22:00:31
Temat: Re: najprosze możliwe pytanie z C++
Od: g...@g...com
W dniu piątek, 17 kwietnia 2020 19:09:09 UTC+2 użytkownik M.M. napisał:
> On Wednesday, April 15, 2020 at 7:57:06 PM UTC+2, RM wrote:
> > W dniu 15.04.2020 o 16:24, M.M. pisze:
> > >> Znalazłem i poprawiłem błąd. errors było polem w klasie obfuscator a
> > >> całość była robiona w metodzie
> > >> obfuscator::make_result_dir() const
> > >> i właśnie to const przeszkadzało.
> > >
> > > Nie rozumiem.
> >
> > Zmienna errors (pole klasy obfuscator) nie może być zmodyfikowana
> > wewnątrz metody const klasy obfuscator.
>
> Dlaczego u mnie działa?
>
> Pozdrawiam
Bo nie używasz tego w metodzie zadeklarowanej jako const.
Pewnie gdyby OP wkleił cały kod, nie byłoby wątpliwości. Ale z jego wyjaśnienia
wynika, że miał to użyte jakoś tak:
class obfuscator {
std::string errors;
//...
void make_result_dir() const {
// ...
errors += "Invalid usage";
// ...
}
//...
};
-
12. Data: 2020-04-17 23:33:38
Temat: Re: najprosze możliwe pytanie z C++
Od: "M.M." <m...@g...com>
On Friday, April 17, 2020 at 10:00:33 PM UTC+2, g...@g...com wrote:
> W dniu piątek, 17 kwietnia 2020 19:09:09 UTC+2 użytkownik M.M. napisał:
> > On Wednesday, April 15, 2020 at 7:57:06 PM UTC+2, RM wrote:
> > > W dniu 15.04.2020 o 16:24, M.M. pisze:
> > > >> Znalazłem i poprawiłem błąd. errors było polem w klasie obfuscator a
> > > >> całość była robiona w metodzie
> > > >> obfuscator::make_result_dir() const
> > > >> i właśnie to const przeszkadzało.
> > > >
> > > > Nie rozumiem.
> > >
> > > Zmienna errors (pole klasy obfuscator) nie może być zmodyfikowana
> > > wewnątrz metody const klasy obfuscator.
> >
> > Dlaczego u mnie działa?
> >
> > Pozdrawiam
>
> Bo nie używasz tego w metodzie zadeklarowanej jako const.
>
> Pewnie gdyby OP wkleił cały kod, nie byłoby wątpliwości. Ale z jego wyjaśnienia
wynika, że miał to użyte jakoś tak:
>
> class obfuscator {
> std::string errors;
> //...
> void make_result_dir() const {
> // ...
> errors += "Invalid usage";
> // ...
> }
> //...
> };
Ok, dzięki.
Pozdrawiam.