eGospodarka.pl

eGospodarka.plGrupypl.comp.programming › najprosze możliwe pytanie z C++
Ilość wypowiedzi w tym wątku: 12

  • 1. Data: 2020-04-14 09:49:50
    Temat: najprosze możliwe pytanie z C++
    Od: RM <r...@w...pl>

    Uczę się C++. Mam taki kod:

    #include <string>
    ...
    std::string errors;
    ...
    errors += "Invalid usage. Result directory must be different from
    application directory.\n";

    Nie rozumiem dlaczego błąd:
    żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    operandów: const std::__cxx11::string += const char [70]

    Tym bardziej że w innym miejscu podobne przypisanie += się kompiluje.


  • 2. Data: 2020-04-14 09:59:41
    Temat: Re: najprosze możliwe pytanie z C++
    Od: Emru <e...@g...com>

    W dniu Tue, 14 Apr 2020 09:49:50 +0200, użytkownik RM napisał:

    > żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    > operandów: const std::__cxx11::string += const char [70]

    spróbuj może "Invalid usage..." przypisać najpierw do jakiegoś stringa

    std::string tmp = "Invalid usage. Result directory must be different from
    application directory.\n";


  • 3. Data: 2020-04-14 10:11:09
    Temat: Re: najprosze możliwe pytanie z C++
    Od: RM <r...@w...pl>

    W dniu 14.04.2020 o 09:59, Emru pisze:
    > W dniu Tue, 14 Apr 2020 09:49:50 +0200, użytkownik RM napisał:
    >
    >> żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    >> operandów: const std::__cxx11::string += const char [70]
    >
    > spróbuj może "Invalid usage..." przypisać najpierw do jakiegoś stringa
    >
    > std::string tmp = "Invalid usage. Result directory must be different from
    > application directory.\n";
    >

    src/obfuscator.cpp:258:19: error: passing 'const string {aka const
    std::__cxx11::basic_string<char>}' as 'this' argument discards
    qualifiers [-fpermissive]
    errors += tmp;


  • 4. Data: 2020-04-14 10:21:01
    Temat: Re: najprosze możliwe pytanie z C++
    Od: Emru <e...@g...com>

    http://www.cplusplus.com/reference/string/string/app
    end/
    http://www.cplusplus.com/reference/string/string/ope
    rator+=/

    z jakiego kompilatora korzystasz?


  • 5. Data: 2020-04-14 10:30:26
    Temat: Re: najprosze możliwe pytanie z C++
    Od: g...@g...com

    W dniu wtorek, 14 kwietnia 2020 09:49:53 UTC+2 użytkownik RM napisał:
    > Uczę się C++. Mam taki kod:
    >
    > #include <string>
    > ...
    > std::string errors;
    > ...
    > errors += "Invalid usage. Result directory must be different from
    > application directory.\n";
    >
    > Nie rozumiem dlaczego błąd:
    > żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    > operandów: const std::__cxx11::string += const char [70]
    >
    > Tym bardziej że w innym miejscu podobne przypisanie += się kompiluje.

    Wklej może cały kod na jakiś gist albo pastebin, bo tak to się nie da nic powiedzieć.


  • 6. Data: 2020-04-14 10:30:39
    Temat: Re: najprosze możliwe pytanie z C++
    Od: RM <r...@w...pl>

    W dniu 14.04.2020 o 09:59, Emru pisze:
    > W dniu Tue, 14 Apr 2020 09:49:50 +0200, użytkownik RM napisał:
    >
    >> żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    >> operandów: const std::__cxx11::string += const char [70]
    >
    > spróbuj może "Invalid usage..." przypisać najpierw do jakiegoś stringa
    >
    > std::string tmp = "Invalid usage. Result directory must be different from
    > application directory.\n";
    >
    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.


  • 7. Data: 2020-04-14 14:21:51
    Temat: Re: najprosze możliwe pytanie z C++
    Od: RM <r...@w...pl>

    W dniu 14.04.2020 o 10:30, g...@g...com pisze:
    >> Tym bardziej że w innym miejscu podobne przypisanie += się kompiluje.
    >
    > Wklej może cały kod na jakiś gist albo pastebin, bo tak to się nie da nic
    powiedzieć.
    >
    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.


  • 8. Data: 2020-04-15 16:24:00
    Temat: Re: najprosze możliwe pytanie z C++
    Od: "M.M." <m...@g...com>

    On Tuesday, April 14, 2020 at 10:30:41 AM UTC+2, RM wrote:
    > W dniu 14.04.2020 o 09:59, Emru pisze:
    > > W dniu Tue, 14 Apr 2020 09:49:50 +0200, użytkownik RM napisał:
    > >
    > >> żaden operator "+=" nie pasuje do tych argumentów operacji -- typy
    > >> operandów: const std::__cxx11::string += const char [70]
    > >
    > > spróbuj może "Invalid usage..." przypisać najpierw do jakiegoś stringa
    > >
    > > std::string tmp = "Invalid usage. Result directory must be different from
    > > application directory.\n";
    > >
    > 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.

    U mnie nie ma problemu:

    [[[[[[
    #:~/test_str$ cat > main.cpp
    #include <string>
    #include <iostream>

    int main() {
    std::string str;
    str += "test\n";
    std::cout << str;
    return 0;
    }
    #:~/test_str$ g++ main.cpp -o test_str
    #:~/test_str$ ls -la
    razem 28
    drwxr-xr-x 2 m m 4096 kwi 15 16:21 .
    drwxr-xr-x 22 m m 4096 kwi 15 16:19 ..
    -rw-r--r-- 1 m m 132 kwi 15 16:21 main.cpp
    -rwxr-xr-x 1 m m 13536 kwi 15 16:21 test_str
    #:~/test_str$ ./test_str
    test
    ]]]]]

    Pozdrawiam


  • 9. Data: 2020-04-15 19:57:05
    Temat: Re: najprosze możliwe pytanie z C++
    Od: RM <r...@w...pl>

    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.


  • 10. Data: 2020-04-17 19:09:07
    Temat: Re: najprosze możliwe pytanie z C++
    Od: "M.M." <m...@g...com>

    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

strony : [ 1 ] . 2



Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: