• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed Dziwny błąd biblioteki fstream

Object Storage Arubacloud
0 głosów
167 wizyt
pytanie zadane 22 czerwca 2020 w C i C++ przez Nabuchadonozor Gaduła (3,120 p.)
zamknięte 22 czerwca 2020 przez Nabuchadonozor

Witam serdecznie,

napotkałem się po pewnej przerwie od programowania z problemem dotyczącym biblioteki <fstream>,

otóż wpisując linijkę w VS ofstream saving("files/plik.txt"); wyświetla mi błąd, iż " "saving"; identyfikatora nie odnaleziono" i, że "błąd składniowy: brakuje ";" przed identyfikatorem "saving"".  Umiałby ktoś to sensownie wytłumaczyć?

kod poniżej z pliku contents.cpp (cały kod jednej klasy), a w book.h mam zawarte #include <fstream>

void timeManagment::createSessionTM() {
	system("cls");

	int date[3];
	int rateOfSessions;
	int durationOfSeries;
	int durationOfBreaks;

	string nameOfSession;

	cout << "CREATE SESSION" << endl;
	cout << endl;
	cout << "Enter name of session: "; cin >> nameOfSession;
	cout << "Enter date: "; cin >> date[0] >> date[1] >> date[2];
	cout << "Enter number of series: "; cin >> rateOfSessions;
	cout << "Enter duration of series: "; cin >> durationOfSeries;
	cout << "Enter duration of breaks: "; cin >> durationOfBreaks;

	ofstream saving("files/plik.txt"); // błąd
}

dodam jeszcze, że fstream saving działa poprawnie, tylko ten ofstream wykazuje błąd....

komentarz zamknięcia: restart komputera naprawił, widocznie jakiś niemiły błąd
komentarz 22 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
Czyżbyś próbował używać obiektu saving po za klamrą na końcu? Jeżeli tak, to nie zadziała.
komentarz 22 czerwca 2020 przez Nabuchadonozor Gaduła (3,120 p.)
Z tego co mi się wydaje, klamra jest za linijką dotyczącą inicjalizacji pliku ? Czy coś mylę?
komentarz 22 czerwca 2020 przez tkz Nałogowiec (42,000 p.)
Mogę zgadywać, jak podasz cały kod, będzie szybciej. Ale zakładając, że to cała funkcja i chcesz użyć saving po za funkcją, to nie zadziała z kilku powodów.
komentarz 22 czerwca 2020 przez Nabuchadonozor Gaduła (3,120 p.)
w dodatku dosłownie sam ofstream sprawia problem, używając tą linijkę - zamiast ofstream, gdy wpisze ifstream bądź fstream, to wszystko poprawnie się kompiluje ... bardzo dziwne
komentarz 22 czerwca 2020 przez Nabuchadonozor Gaduła (3,120 p.)
#include "book.h"

void timeManagment::menuTM() {
	char choice;

	cout << "1. START SESSION" << endl;
	cout << "2. CREATE NEW SESSION" << endl;
	cout << "3. MANAGMENT SESSIONS" << endl;
	cout << endl;
	cout << "Your choice: "; cin >> choice;	

	switch (choice) {
	case '2':
		timeManagment::createSessionTM();
		break;
	default:
		cout << endl << endl << "WRONG ANSWER";
		Sleep(1500);
	}
	
}

void timeManagment::createSessionTM() {
	system("cls");

	int date[3];
	int rateOfSessions;
	int durationOfSeries;
	int durationOfBreaks;

	string nameOfSession;

	cout << "CREATE SESSION" << endl;
	cout << endl;
	cout << "Enter name of session: "; cin >> nameOfSession;
	cout << "Enter date: "; cin >> date[0] >> date[1] >> date[2];
	cout << "Enter number of series: "; cin >> rateOfSessions;
	cout << "Enter duration of series: "; cin >> durationOfSeries;
	cout << "Enter duration of breaks: "; cin >> durationOfBreaks;

	fstream saving("files/plik.txt");
}

to wyżej zwie się contents.cpp
a to niżej book.h

#include <iostream>
#include <windows.h>
#include <fstream>

using namespace std;

class timeManagment {
public:
	void menuTM();
	void createSessionTM();
};

 

komentarz 22 czerwca 2020 przez Nabuchadonozor Gaduła (3,120 p.)
dzięki za chęci, restart pomógł :)

Podobne pytania

0 głosów
1 odpowiedź 308 wizyt
0 głosów
1 odpowiedź 361 wizyt
0 głosów
1 odpowiedź 291 wizyt

92,555 zapytań

141,403 odpowiedzi

319,554 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...