Witam.
Potrzebuję globalny dostęp do obiektu klasy lista_p i chcę utworzyć globalny wskaźnik typu właśnie tej klasy.
Z tym że wyskakują mi błędy. Prosiłbym o jakąś poradę co może być nie tak. Pisane w Visual Studio.
#include <iostream>
#include <string>
#include <vector>
#include <sstream>
#include <iterator>
#include <windows.h>
using namespace std;
vector<string> dane; // vector komendy
lista_p *x; -------------------ERROR
//x = new lista_p;
//============================KOD PROCESU===================================
class proces {
protected:
int id=0;
int time;
string status;
public:
proces() {
id++;
cout << "Podaj czas wykonania procesu id " << id << " :"; cin >> time;
status = "new";
}
//((((((((((((( WYSWIETL PARAMTERY ))))))))))))))))
void get_id(){
cout << id;
}
void get_time() {
cout << time;
};
void get_status() {
cout << status;
}
//((((((((((((( USTAW PARAMTERY ))))))))))))))))
void set_time(int n) {
time = n;
}
void set_status(string s) {
status = s;
}
void set_id(int i) {
id = i;
}
};
//========================== LISTA PROCESOW ===============================
class lista_p {
protected:
public:
vector<proces*> list;
void dodaj_do_listy(proces *s)
{
list.push_back(s);
}
void new_p()
{
int x;
cout << "Ile dodac procesow?"<<endl;
cin >> x;
for (int z = 0; z < x; z++)
{
dodaj_do_listy(new proces());
}
}
};
//============================ANALIZA KOMEND===================================
void komenda(string line)
{
istringstream line_stream(line);
istream_iterator<string> begin(line_stream), end;
copy(begin, end, back_inserter(dane));
if (dane.empty() == false) {
if (dane[0] == "help") {
cout << endl;
cout << endl << "DOSTEPNE KOMENDY: " << endl << endl
<< "add - dodawanie procesu " << endl
<< "cls - czyszczenie konsoli" << endl;
}
if (dane[0] == "cls") system("cls");
if (dane[0] == "add") {
}
dane.clear();
}
}
//================================= MAIN =====================================
int main() {
cout << "Welcome in SJF simulator 2017!" << endl;
cout << "For more information please type: help" << endl;
while (true)
{
string a;
getline(cin, a);
komenda(a);
}
return 0;
}