Kezdőoldal » Számítástechnika » Programozás » Mi a probléma? Hogy lehetne...

Mi a probléma? Hogy lehetne helyesen megcsinálni?

Figyelt kérdés

char* unique(char* first, char* last) {

if (first == last)

return last;


char* result = first;



while (++first != last) {



if (*result == *first)

continue;



if (++result != first) {

*result = std::move(*first);

}

}


return ++result;

}


A hiba amit kiír:

In function ‘char* sajat::unique(char*, char*)’:

error: ‘move’ is not a member of ‘std’

*result = std::move(*first);


Itt a feladat leírás:

A paraméterként kapott két pointer közötti karaktersorozatból kihagyja az egymás után ismétlődő karaktereket (char). A sorozatot az eredeti helyén hagyja!

first - pointer az adatok kezdetére

last - pointer, ami az utolsó adat után mutat

return - pointer, ami az új sorozat utolsó adata után mutat (a kihagyással rövidült a sorozat)



2020. febr. 28. 12:59
 1/2 A kérdező kommentje:

Vagy ha nem így, hogy lenne érdemes neki ugrani a feladatnak.


(BME 3. heti prog beugrónak egy feladatrésze. Egyéb 4 függvény amit csinálni kellett már kész, szóval nem itt próbálom megcsináltatni a "házimat")

2020. febr. 28. 13:05
 2/2 anonim ***** válasza:
63%

A hibaüzenet azért van, mert a compiler nem tud a move függvény létezéséről. Ez azt jelenti, hogy nem include-oltad be a megfelelő könyvtárakat. Ilyenkor egyszerűen rákereshetsz neten a move függvényre és megnézed, melyik könyvtárban van. Pl.: itt [link] azt írja, hogy "defined in header <utility>", azaz egyszerűen azt írod be, hogy #include <utility>" és már el is tűnik ez a hiba.


Magában az algoritmusban is van egy kis hiba, mert a lezáró nullát nem rakod át. Ezt úgy orvosolhatod, hogy a while ciklusban átírod a ++first-öt first++-ra.

2020. febr. 28. 13:37
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!