Tudna segíteni valaki C++ programozásba? (Bővebben lent)
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)
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:
"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:
viszont az iostream könyvtárban benne van az istream is:
í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:
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:
„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...
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!