Βασικά το έχεις σκίσει...
1)Δεν έχεις κλήσει το #ifndef.
2)Δεν έχεις δηλώσει ποιόν χώρο ονομασίας χρησιμοποιείς.
3)Vector<char[]> χλωμό σε κόβο...
Code: Select all
#ifndef _PANDORABOX_H_
#define _PANDORABOX_H
// Include an STL container needed by the Pandora program
#include <vector>
//Other includes needed
#include <iostream>
#include <fstream>
#include <string>
//#include <math>
using namespace std;
class PandoraBox{
//Containers
private:
vector<char*> vec;
static int FibNums[];
//Variables needed
static int pass;
static int passInc;
static int parts;
static bool generated;
string password;
};
#endif
είναι λογικότατο να μην βρίσκει τίποτα μιας και όλα αυτά βρίσκονται μέσα στο namespace std. Συνεπώς για να τα χρησιμοποιήσεις χωρίς δήλωση του namespace παραπάνω θα πρέπει να χρησιμοποιείς και τον τελεστή ανάλυσης εμβέλειας ::,πχ std::cout κλπ κλπ.
Τέλος το char[] η C++ το λαμβάνει σαν έναν δείκτη στην πρώτη θέση του πίνακα. Πχ char x[100]. To x δείχνει στην πρώτη θέση του πίνακα είναι το ίδιο με το char* point=&x[0]; Το point και το χ απο μόνα τους έχουν την ίδια τιμή για να καταλάβεις. Για να σου δουλέψει τώρα το vector θα πρέπει να του δώσεις έναν τύπο. Πχ vector<int>,vector<string>,vector<vector<int>>,vector<class1>,vector<set<class2>>...Γενικά κάτι που να αντιπροσοπεύει έναν τύπο. Το char[] δεν έιναι type οπότε θα σου χτυπήσει και εκεί.
Παραπάνω τα έχω διορθώσει όλα.