Kezdőoldal » Számítástechnika » Programozás » Tudna segíteni valaki C++...

Tudna segíteni valaki C++ programozásba? (Bővebben lent)

Figyelt kérdés

Az lenne a problémám, hogy ki ír egy hibaüzenetet amire nem találtam megoldást. A kódsort is leírom ha az segít meg azután a hibaüzeneteket amiket kaptam.


#include <istream>

#include <iostream>

#include <cmath>


using namespace std;


int main() {


setlocale(LC_ALL, "hun");


string szín, név, szám;


cout << "Adj meg egy teljes nevet: ";

std::basic_istream::getline(cin, név);

cout << "Adj meg egy színt: ";

cin >> szín;

cout << "Adj meg egy számot: ";

cin >> szám;


cout << "Van egy ember akit úgy hívnak, hogy " << név << endl;

cout << "A kocsija " << szín << " színű" << endl;

cout << név << szám << " éves" << endl;


return 0;


}


Remélem átlátható. Egy kis történet akármit akartam csinálni egy videó alapján amiben a program használója írja be az adatokat. Szóval az lenne a lényeg, hogy valamiért ez a kódsor nem működik: std::basic_istream::getline(cin, név);


Azt írja ki errorként, hogy „argument list for class template "std::basic_istream" is missing” és nem tudom, hogy ezt, hogy lehet megoldani. Meg Visual Studio 2019-be dolgozok ha az segít megoldani. Remélem tudtok segíteni.

(Elnézést az esetleges helyesírási hibákért)



2020. máj. 7. 14:34
 1/8 anonim ***** válasza:
71%

0. Tessék kódmegosztó oldalt - ghostbin, hastebin, pastebin, stb... - használni.

1. Változók neveiben NEM alkalmazunk ékezeteket (a magyaros változónevektől tekintsünk el, feltételezem gyakorolsz).

2. istream, cmath nem kell.

3. std::basic_istream::getline helyett elég szimpla getline.


Szóval valahogy így:

[link]

2020. máj. 7. 14:52
Hasznos számodra ez a válasz?
 2/8 A kérdező kommentje:
Csak az a probléma, hogy sima getlineal nem működik. Akkor meg azt írja ki, hogy írjam oda, hogy std::basic_istream::getline. Egyébként ezen kívül köszi a tanácsokat.
2020. máj. 7. 14:59
 3/8 A kérdező kommentje:
Ezt írja ki amit te írtál kódsornál: „identifer "getline" is undefined” és „'getline' identifer not found”.
2020. máj. 7. 15:15
 4/8 anonim ***** válasza:
63%

"Csak az a probléma, hogy sima getlineal nem működik. Akkor meg azt írja ki, hogy írjam oda, hogy std::basic_istream::getline. "

A getline az istream könyvtárból érhető el:

[link]

viszont az iostream könyvtárban benne van az istream is:

[link]

így felesleges külön meghívni.


Illetve mivel az std névteret használod (lásd using namespace), nem kell külön hivatkozni rá.


Itt látható működés közben:

[link]

2020. máj. 7. 15:19
Hasznos számodra ez a válasz?
 5/8 anonim ***** válasza:
76%

Illetve lehet, hogy a Visual C++ a string könyvtárból elérhető getline metódust használná (én Linux alól g++-ból ellenőriztem, így nem panaszkodott érte) - szóval érdemes meghívni azt is:

#include <string>


Bővebben:

[link]

2020. máj. 7. 16:01
Hasznos számodra ez a válasz?
 6/8 A kérdező kommentje:
Rendben. Köszi a segítséget. Majd megpróbálok és szólok, hogy sikerült-e.
2020. máj. 7. 16:18
 7/8 A kérdező kommentje:
Köszönöm #5-ös ez a stringes változat működött
2020. máj. 7. 19:11
 8/8 tabaki ***** válasza:
46%

„Köszönöm #5-ös”


Ezért jó, ha ilyen szép számmal összegyűlnek a válaszolók, valamelyikük majdcsak megtalálja a megoldást...

2020. máj. 8. 15:05
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!