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

Błąd "no mathing function" przy korzystaniu z str.copy

Ostatnio zmodyfikowano 2019-08-17 09:59
Autor Wiadomość
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:

C/C++
#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 ] = { }; //w klamrze będą elementy tablicy
   
    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.
P-175049
pekfos
» 2019-08-17 00:19:31
Nie copy(), tylko substr().
P-175050
Neramis
Temat założony przez niniejszego użytkownika
» 2019-08-17 09:59:09
Dziękuję, problem rozwiązany. Temat zamykam.
P-175051
« 1 »
  Strona 1 z 1