Błąd "no mathing function" przy korzystaniu z str.copy
Ostatnio zmodyfikowano 2019-08-17 09:59
Neramis Temat założony przez niniejszego użytkownika |
Błąd "no mathing function" przy korzystaniu z str.copy » 2019-08-16 23:28:57 Cześć, to znowu ja. Tym razem problem leży w 28 linii kodu. Wydaje mi się, że powinienem móc użyć tutaj str.copy, ale z jakiegoś powodu kompilator wypisuje mi komunikat: error: no matching function for call to 'std::__cxx11::basic_string<char>::copy(std::__cxx11::string&, int&, size_t) Linia powodująca problem: tekst.copy( wartoscdanych[ licznik ], dlugoscdanych, pozycja + elementdanych[ licznik ].size() ); Cały kod: #include <string> #include <iostream> #include <fstream> #include <sstream> #include <stdio.h> #include <string.h>
using namespace std;
string wartoscdanych[ 18 ]; string tekst;
void szukajdanych( string & tekst ) { int licznik = 0; string elementdanych[ 18 ] = { }; do { size_t pozycja = tekst.find( elementdanych[ licznik ] ); if( pozycja == string::npos ) { cout << "Nie znaleziono frazy w tekscie" << endl; } size_t pozycja2 = tekst.find( "[", pozycja + elementdanych[ licznik ].size() ); int dlugoscdanych = pozycja2 -( pozycja + elementdanych[ licznik ].size() ); tekst.copy( wartoscdanych[ licznik ], dlugoscdanych, pozycja + elementdanych[ licznik ].size() ); licznik++; } while( licznik < 18 ); }
int main() { return 0; } Oczywiście próbowałem rozwiązać problem sam - na przykład próbując zmienić string wartoscdanych[18] na tablicę dwuwymiarową, ale takie rozwiązanie wydaje się komiczne, niepotrzebnie komplikuje kod (a na pewno jest prostsze rozwiązanie) i nade wszystko także mi nie działa. |
|
pekfos |
» 2019-08-17 00:19:31 Nie copy(), tylko substr(). |
|
Neramis Temat założony przez niniejszego użytkownika |
» 2019-08-17 09:59:09 Dziękuję, problem rozwiązany. Temat zamykam. |
|
« 1 » |